SSHの秘密鍵を多数の接続先に置かないで済むため、エージェント転送をおこなうにはU*IXならば次のような手順となります。
- ssh-agentを実行しておく。
- ssh-addで秘密鍵を登録しておく。
- sshで接続する際にオプション「-A」を指定する。
これは接続元がU*IXの場合の手順ですが、もし接続元がWindowsなら手順はどうなるのでしょうか。
端末エミュレータとしてRLoginを使うなら、接続設定において「サーバー」>「プロトコル」で「エージェント転送を有効にする」を指定するだけです。とても簡単です。
端末エミュレータとしてTera Termを使う場合はどうでしょう。RLoginのように簡単なのかと思って、SSH認証において「エージェント転送する」を指定しましたが、これでは駄目で、以下のようなエラーが出てしまいました。
Permission denied (publickey,keyboard-interactive).
どうやらU*IXの手順で必要だったssh-agentやssh-addに相当するものが無いと駄目のようです。
- ssh-agentに相当するのはPageantというソフトのようです。これはWinSCPに不増kしていたものを使いました。元々はPuTTYに付属するようですが、事情はよくわかりません。
- ssh-addに相当するのはPageantに秘密鍵を登録することです。
- Tera Termで「エージェント転送する」を指定するという行為は、オプション「-A」を指定することに相当するのでしょう。
Tera Termの挙動はU*IXでの手順とおなじですが、RLoginの方が使い勝手が良い気がします。
0 件のコメント:
コメントを投稿