VaraTerm はオープンソールになりました。名前も Poderosa に変更されました。 このドキュメントは VaraTerm 2.1.0 をベースに書かれています。 わたしは Poderosa を使用していないため、今後このコンテンツは更新されません。 検索エンジンなどから飛んできた方はバージョンにご注意ください。
Terminal Emulator VaraTerm からダウンロードしてインストールします。インストールは難しいことがなにも ないので省略します。
だけです(省略しすぎ?)
.NET Framework 1.1 sp1
.NET Framework 1.1 sp1 を導入した方は(というかセキュリティパッチを含むので 導入せざるを得ないでしょう) Terminal Emulator VaraTerm のバージョン 2.1.1 以降にしないとおちる現象に悩まされることでしょう。
ツール->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 を使用していた場合は FreeBSD 側に authorized_keys2 が作成 されていたとおもいます。VaraTerm は PuTTY で作成した秘密鍵を読むことができません ので VaraTerm で鍵ペアを作成することは必須です。
ちなみに無理に PuTTY 形式の秘密鍵を指定して VaraTerm で接続しようとすると以下のよ うな「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 からでも接続することができるようになります。
当サイトへのリンクはご自由にどうぞ。このページへ直接リンクしていただいてもかまいません。