SSH キーは Unix ではパスフレーズを要求しますが、Windows では要求しません

SSH キーは Unix ではパスフレーズを要求しますが、Windows では要求しません

奇妙な問題が発生しています。SSH キーを使用してサーバーに接続しています。公開キーと秘密キーの両方をパスワードなしで生成し、公開キーをサーバーにインストールしました。秘密キーを使用してローカル (Windows 7) からサーバーに接続できますが、同じキーを使用してリモート サーバー (Linux から Unix) からサーバーに接続しようとすると、パスワードを求められます。次のコマンドを使用しています。

sftp -o "IdentityFile=<location-of-key>" [email protected]



 my-local: Window 7
 remote-server: Suse Linux 11 (x86_64)
 my-server: SunOS

答え1

Linux から接続する場合は、秘密鍵を ppk 形式 (Windows プログラムで認識される形式) から openssh 形式に変換する必要があります。

この質問に対する答えはスタックオーバーフロー

必要がある:

  • 秘密鍵をロードした後、PuttyGEN に移動してConversions->Export OpenSSH秘密鍵をエクスポートします。

答え2

以下をお試しください:

sftp -i "<location-of-key>" [email protected]

man ページから:

-i identity_file
公開鍵認証のID(秘密鍵)を読み取るファイルを選択します。このオプションはssh(1)に直接渡されます。

関連情報