web-dev-qa-db-ja.com

Linuxマシンに接続するためにPuTTYでSSH公開鍵を使用する方法

Windows 7マシンからRed-Hat Linuxマシンへの公開SSHキー接続を設定しようとしています。最終的な目的は、コマンドターミナルからpscpscpのPuTTYバージョン)を使用して、パスワードを繰り返し入力する必要がないことです。

PuTTYのドキュメントと他のオンラインソースに従って、PuTTYgenを使用してキーペアを生成しました。次に、生成された公開鍵をLinuxマシンの~/.ssh/authorized_keysファイルにコピーしました(私の知る限り、OpenSSHサーバーを実行しています)。

接続を確認するには、PuTTYを実行し、GUIの適切な場所にユーザー名と秘密鍵ファイルを設定します。

ただし、PuTTYのSSHを使用して接続しようとすると、接続は事前設定されたユーザー名を使用しますが、「Server refused our key」というエラーメッセージとパスワードのプロンプトが表示されます。

次に、PuTTYgenのGUIからauthorized_keysファイルに公開キーテキストをコピーして貼り付けようとしましたが、どちらも機能しませんでした。

  1. Win 7からLinuxへの公開キー接続をどのように設定すればよいですか?

  2. (PuTTYのsshではなく)pscpでこれをどのように使用しますか?


更新:PuTTYgenキー形式に問題がある可能性があると考え、Linuxマシンでssh-keygenを使用してRSAキーペアを作成します。 id_rsa秘密鍵とid_rsa.pub公開鍵を生成しました。 「> ssh-add id_rsa」という返事をgitにしたので、Could not open a connection to your authentication agent.を使用しようとしても成功しなかったため、> cp id_rsa.pub authorized_keysを使用しました。

次に、これらのファイルをWindowsマシンにコピーし、PuTTYgenを使用して秘密鍵をPuTTY秘密鍵形式(*.ppk)に変換しました。新しいキーを使用して接続しようとすると、「Server refused our key」という応答が返されます。

5
ysap

あなたはこれらを正しくフォローする必要があります。

SSHサーバーで公開鍵を構成する

公開鍵をSFTP経由でSSHサーバーにコピーします

put publicy_key

SSHサーバーにログインして、コピーされた公開鍵を確認します

ls -l public_key

公開鍵には権限がないため、400(読み取り用)に変更します。

chmod 400 public_key

Ssh-keygenツールを使用してopenSSH形式の公開鍵を作成する

ssh-keygen -if public_key > public_key_openssh_format

作成したopenSSH公開鍵をauthorized_keysファイルに追加します

cat public_key_openssh_format >> ~/.ssh/authorized_keys

.sshフォルダーとauthorized_keysファイルのアクセス許可を確認して、アクセス許可を確認します。

ls -al ~/.ssh

PuTTYでキーペアを確認

これで、鍵ベースの認証をPuTTYで検証できます。ホスト名とポートを入力します

秘密鍵(.ppk)を選択します 

セキュリティ警告を確認する

構成が正しい場合、接続は正常に確立されます 

それでも行き詰まっている場合。次に、ユーザーを再作成し、手順に従って公開鍵を再度構成する必要があります。

ユーザーは、次のコマンドを使用して再作成できます。

ユーザーフォルダのコピーを作成し、再作成する前に削除します。

yast2 users add username=userName cn=" User for test" password="password" gid=100 grouplist=dialout,video type=local

PuTTYまたはPuTTYgenが壊れていると結論付けました。これは、ファイル形式に関する簡単なユーザーエラーではありません。サーバーで承認された公開キーのハッシュを計算すると、キーを生成したクライアントのPuTTYgenによって表示されたハッシュと一致します。それでも、サーバーは一致しなかったようにキーを拒否します。

私はこれをOS X、Linux、Cisco&Juniperルーターで試しました。 PuTTYgenからのssh-rsa公開鍵が機能しません。

OpenSSHでキーを生成し、それらをPuTTYgenにインポートしてPuTTYの.ppkとして保存すると、正常に動作します。

0
Monstieur

おそらく、「接続/ SSH /認証/エージェント転送を許可する」オプションを「true」に設定する必要があります。 ssh-addコマンドを実行した後、コマンドが機能しました。

PuTTY screenshot showing SSH authentication settings

0
Vladius