Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
VaraTermを使おう
[go: Go Back, main page]

一覧 | RSS | TOP | 検索 | 更新履歴

VaraTerm - VaraTermを使おう

VaraTermを使おう

このドキュメントは VaraTerm 2.1.0 をベースに書かれています。

VaraTerm のダウンロードとインストール

Terminal Emulator VaraTerm からダウンロードしてインストールします。インストールは難しいことがなにも ないので省略します。

だけです(省略しすぎ?)

鍵ペアの生成

ツール->SSH鍵生成ウィザードを起動します。 ここではLAN内のホストにアクセスするためにパスフレーズを入力しなくても ログオンできるようにするためにはパスフレーズを空白にしています。

アルゴリズムDSA
ビット数1024
パスフレーズ(今回は空白)

「パスフレーズを空にして鍵を生成しますか?」に「はい」を押します

「次へ」を押します

上記のウィンドウが開くので適当にマウスを動かして、「次へ」が押せるように なったら押します。

「秘密鍵を名前をつけて保存」を押して保存します、 「C:\Program Files\Terminal Emulator VaraTerm\(Windowsのユーザ名)」に 「id_dsa.ppk」というファイル名で保存します。

同様に「OpenSSH形式で公開鍵を名前をつけて保存」で公開鍵を保存します。 「C:\Program Files\Terminal Emulator VaraTerm\(Windowsのユーザ名)」に 「id_dsa.pub」というファイル名で保存します。

公開鍵の転送

公開鍵ファイル id_dsa.pub を FreeBSD に転送します。ホームディレクトリを~だと すると「~/.ssh」に「authorized_keys2」というファイル名にします。「~/.ssh」がない 場合は作成します。ディレクトリのパーミッションは他の人に消されないように念のため、 700にしておきましょう

drwx------  1 name  group  1190  6  2 21:00 .ssh

公開鍵ファイルは FTP 転送やメール添付など安全でない方法を介して転送してもか まいません。ただし FTP はパスワードが平文で流れるためインターネットを経由 して公開鍵ファイルを転送した後は ssh ログインができるようになってすぐに FreeBSD ユーザ のパスワードを変更することを強くお勧めします。 (SSHのパスフレーズではなく) FreeBSD ユーザのパスワードを変更しても公開鍵ファイルを再作成する必要はありません。

他の人に壊されないように念のため、authorized_keys2 のパーミッションは600 にしておいてください。

-rw-------  1 name  group  1190  6  2 21:09 authorized_keys2

公開鍵の転送方法(まとめ)
例1) 自宅の FreeBSD に会社からアクセスする場合
          自宅                                           会社
  Windows ----------- FreeBSD ===== インターネット ===== Windows
  公開鍵をFTP転送 -->         <------------------------- SSH ログイン
  秘密鍵(id_dsa.ppk)はFD/USBストレージで持っていくこと!

例2) 会社の FreeBSD に自宅からアクセスする場合
     自宅                            会社
  Windows ===== インターネット ===== FreeBSD ---- Windows
   SSH ログイン -------------------->        <--- 公開鍵をFTP転送
  秘密鍵(id_dsa.ppk)はFD/USBストレージで持って帰ること!

改行コードの変更 (任意)

改行コードを変更しなくても接続に問題はありませんが、後で鍵を追加するときに改行 コードがばらばらだと見た目が悪いです。いまのところそれ以外は趣味の問題だとおもって ます(なにか問題があるのでしたらご連絡ください)

VaraTerm で作成した公開鍵ファイルは改行コードが CR+LF になっていますのでホス トに転送するときに LF にしておきましょう。FTP 転送するなら ASCII モードで転 送すると改行コードが変更されます。メールで添付するならあらかじめ Windows で改行コードを変更しておきましょう。秀丸エディタなら「名前を付けて保存」 で保存するファイルの改行コードを選ぶことができます。また FreeBSD にログイン後に vi を使用して変更することもできます。

秀丸エディタを使用
1. id_dsa.pub をあける
2. ファイル->名前を付けて保存から改行コードをLFにして保存

vi を使用
$ vi id_dsa.pub
:%s/ Ctrl+v Ctrl+M // と入力します
表示が以下のようになります。
:%s/^M//
^M (CR) が削除されます

接続

VaraTerm から「新規接続」で接続します。

ホスト(接続先)
プロトコルSSH2
ポートSSH(22)
ユーザ名(FreeBSDのユーザ名)
認証方法公開鍵
パスフレーズ(今回は空白)
鍵ファイルC:\Program Files\Terminal Emulator VaraTerm\(Windowsのユーザ名)\id_dsa.ppk
ログの種別なし
ログの保存先(空白)
エンコーディングshift-jis
ローカルエコーしない
改行の送信CR
種類vt100

ログインマクロの作成

以下のマクロをたとえば login.js として C:\Program Files\Terminal Emulator VaraTerm\(Windowsのユーザ名) に 作成します。今回のようにパスフレーズがない場合は password を "" にしておきます。 マクロに書いてしまうとパスフレーズが暗号化されないので注意しましょう。

import VaraTerm;
import VaraTerm.Macro;
import System.Drawing;

var env = new Environment();

/*
 *  Please modify the following values before you run this macro!
 */
var host = "(ホスト名)";
var account = "(FreeBDのユーザ名)";
var password = "";
var encoding = "SHIFT_JIS";
var prikey = "(Windowsのユーザ名)\\id_dsa.ppk";

sshlogin();

function sshlogin() {
    var param = new SSHTerminalParam(ConnectionMethod.SSH2, host, account, password);
    param.AuthType = AuthType.PublicKey;
    param.Encoding = encoding;
    param.IdentityFile = prikey;
    param.TerminalType = TerminalType.XTerm;
    var c = env.Connections.Open(param);
}

「ツール->マクロ->環境設定」をあけます

タイトルlogin (任意)
ファイルC:\Program Files\Terminal Emulator VaraTerm\(Windowsのユーザ名)\login.js

で「OK」を押します

マクロの実行

メニューから実行

「ツール->マクロ->login」を選択します

ショートカットから実行

「ファイル->接続へのショートカットを保存」でショートカットファイルを作成します。

VaraTermが起動された状態でこのショートカットファイルをダブルクリック するとダイアログがあくので「OK」を押せば接続します。鍵ペアにパスフレーズをつけ ていたなら入力を要求されますのでパスフレーズを入力してください。

PuTTY や WinSCP との同居

すでに PuTTY や WinSCP を使用していた場合は FreeBSD 側に authorized_keys2 が作成 されていたとおもいます。VaraTerm は PuTTY で作成した秘密鍵を読むことができません ので VaraTerm で鍵ペアを作成することは必須です。

ちなみに無理に PuTTY 形式の秘密鍵を指定して VaraTerm で接続しようとすると以下のよ うな「Wrong key format」というエラーになります。

 Wrong key format

上記の「公開鍵の転送」で述べたように作成した公開鍵ファイル(OpenSSH形式)を authorized_key2 ファイルとして転送してしまうと VaraTerm の公開鍵のみになっ てしまい、PuTTY や WinSCP を使用して接続することができなくなってしまいます。

authorized_key2 には複数の公開鍵を登録することが可能ですのでファイルを置き 換えてしまうのではなく既存の authorized_key2 に VaraTerm の公開鍵を追加する ことで VaraTerm からだけでなく、WinSCP からでも PuTTY からでも接続すること ができるようになります。

authorized_key2 はテキストファイルですのでテキストエディタ(vi等)を使って単純に 既存の authorized_key2 に VaraTerm の OpenSSH 形式公開鍵を追加することも できますが、ミスもありえるのでファイルにしておいて cat (や copy) コマンドで 追加することをお勧めします。

公開鍵の追加手順

先に PuTTY や WinSCP で作成した公開鍵が authorized_keys2 にあり、VaraTerm の公開鍵 を id_dsa.pub というファイル名(任意です)で FreeBSD に FTP 転送します。

FreeBSDで操作する場合

 cp -p authorized_keys2 authorized_keys2.bk  (バックアップのため)
 cat id_dsa.pub >> authorized_keys2        (>> で追記)

Windowsで操作する場合

 copy authorized_keys2 authorized_keys2.bk   (バックアップのため)
 copy authorized_keys2.bk+id_dsa.pub authorized_keys2 (+ で結合)
 (この後で FreeBSD へ authorized_keys2として転送)

以上で authorized_keys2 に VaraTerm の公開鍵も登録されましたので VaraTerm からでも、 WinSCP からでも PuTTY からでも接続することができるようになります。

注意点

リンクについて

当サイトへのリンクはご自由にどうぞ。このページへ直接リンクしていただいてもかまいません。 ご連絡いただければこちらからもリンクさせていただきます。

連絡先: tanaka_yuji@nna.so-net.ne.jp (SPAM 防止のために@を全角にしてあります。 実際には半角で入力してください)

関連リンク