web-dev-qa-db-ja.com

常にパスワードとキーフレーズを要求する公開鍵

NAS公開鍵を使用してWebサーバーにSSHで接続しようとしています。NASユーザーは 'root'で、Webサーバーユーザーは 'backup'です

すべての権限を正しく設定していて、SSH接続をデバッグすると、次のようになります(デバッグの最後の少し)。

debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: publickey
debug1: Offering DSA public key: /root/.ssh/id_dsa.pub
debug1: Server accepts key: pkalg ssh-dss blen 433
debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Enter passphrase for key '/root/.ssh/id_dsa.pub':

私は次のコマンドを使用しています:

ssh -v -i /root/.ssh/id_dsa.pub [email protected]

パスフレーズを要求しているという事実は確かに良い兆候ですが、これまたはパスワード(パスフレーズで[Return]を押すと後で表示されます)を要求したくない

19
Andrew Atkinson

これは、私が持っていた秘密鍵がOpenSSH形式ではないときに起こりました。

私は元々、PuttyGenを使用してWindowsでキーを生成しましたが、これと同じことでバウンスされていました。

PuttyGenにキーをロードし、[変換]をクリックしてOpenSSH形式に変換することで修正できました。

7
Locane

鍵自体は暗号化されているので、次の手順に従いました。

  • Ssh-agentを起動します:$ ssh-agent bash
  • キーマネージャーに標準のIDキーを追加します:$ ssh-add
  • 別のキーを追加する場合は、$ ssh-add /location/of/key

いつでも検査するには、現在ロードされているキーのリスト:

$ ssh-add -l

詳細はこちらから入手できます link

2
Sibi

いくつかあります。

主に、KEYがパスワードを要求する場合、キーはそれを使用して生成されました。次に、システムがパスワードの入力を求めている場合、キーは認証されていません。つまり、SSHキーを再生成(または@rbtuxの提案に従って変更)して、authorized_keysファイルを修正する必要があります。

ssh-keygen -t {dsa | rsa} -b {1024 | 2048 | 4096} -C「オプションのコメント」-f id_examplekey

中括弧内の項目は、オプション、タイプ、およびビットサイズです(明白に述べると、「セキュリティ」に関しては、dsa> rsa、4096> 1024)。

次に、公開鍵(.pub)をauthorized_keysおよびauthorized_keys2ファイルに追加する必要があります(.pubがローカルで使用されると誤解されがちですが、比較対象です)したがって、サーバーの.sshフォルダにあります。

$ cat id_examplekey.pub >> authorized_keys {、2}

次に、キーの権限がchmod 600 id_exampleであることを確認し、すべての入力を軽減するために、構成ファイル~/.ssh/configをローカルボックスに設定できます(スケルトンです。これをカスタマイズしてください):

Host example.com
    User WHATEVERNAME
    IdentityFile ~/.ssh/id_examplekey
2
nerdwaller

試してみてください https://wiki.gentoo.org/wiki/Keychain

ssh-agentssh-addのラップのようなものです

メリット:再起動しない限り、パスワードを繰り返し入力する必要はありません。 crontabで使用できます。

それは助けになるかもしれません。

1
Gon

OpenSSH v7ではデフォルトで無効になっているDSA公開鍵を使用していることが原因である可能性があります。

キーペアを変更できない場合の回避策として、/etc/ssh/sshd_configを更新するか、次の行を追加して同等のキータイプを受け入れることで、webserver.comのSSHデーモンにそれらのキータイプを受け入れるように指示することができます。

PubkeyAcceptedKeyTypes=+ssh-dss

そして、サービスを再起動します

/etc/init.d/ssh restart                     # or equivalent
1
mosh442

Mac OSXでは、次のコマンドを使用して秘密鍵をキーチェーンに追加できます。

ssh-add -K /path/to/private_key

秘密鍵が〜/ .sshに保存され、id_rsaという名前の場合:

ssh-add -K ~/.ssh/id_rsa

次に、キーチェーンに保存されるパスワードの入力を求められます。

0
Groot