SSHパスフレーズプロンプトを停止する方法 [閉まっている]


10

開いたばかりのサーバーがあります。としてnt_deployersshを実行すると、sshパスフレーズを要求されます。

Nets-Mac-Pro:mysite emai$ ssh nt_deployer@mysite-staging.nettheory.com
Enter passphrase for key '/Users/emai/.ssh/id_rsa': 
nt_deployer@mysite-staging.nettheory.com's password: 
Welcome to Ubuntu 14.04 LTS (GNU/Linux 3.13.0-29-generic x86_64)

しかし、私がとしてsshするときemai、それは尋ねません:

Nets-Mac-Pro:mysite emai$ ssh emai@mysite-staging.nettheory.com
emai@mysite-staging.nettheory.com's password: 
Welcome to Ubuntu 14.04 LTS (GNU/Linux 3.13.0-29-generic x86_64)

パスフレーズプロンプトが表示されないようにする方法を教えてもらえますかnt_deployer


私は走りましたssh-keygen、そして、それは働きました
bigpotato 14

ソリューションを投稿し、それを回答としてマークしてください。これにより、ServerFaultが「未回答」の質問を残さなくなり、ヘルプが不要になります。
TessellatingHeckler 2014

を実行したときにssh-keygen、以前のキーを破壊した可能性があります。なぜそれがあったのか知っていますか?
Valmiky Arquissandas 2014

回答:


4

この行 Enter passphrase for key '/Users/emai/.ssh/id_rsa': は、キーを使用するたびに生成されたときに入力されたパスワードによってキーが保護されていることを意味し、パスワードを要求します。

パスワードを入力せずにもう一度ssh-keygenを実行すると、別のキーが生成されます。キーにパスワードなし-パスワードプロンプトなし:)

これはssh-keygenのマンページからの引用です:

通常、このプログラムはキーを生成し、秘密キーを保存するファイルを要求します。公開鍵は、同じ名前で「.pub」が追加されたファイルに保存されます。プログラムはパスフレーズも要求します。パスフレーズは、パスフレーズがないことを示すために空にすることも(ホストキーには空のパスフレーズが必要です)、任意の長さの文字列にすることもできます。パスフレーズはパスワードに似ていますが、一連の単語、句読点、数字、空白、または任意の文字列を含むことができます。適切なパスフレーズは10〜30文字の長さで、単純な文章や簡単に推測できないものであり(英語の文章は1文字あたり1〜2ビットのエントロピーしかなく、非常に悪いパスフレーズを提供します)、大文字と小文字、数字、および英数字以外の文字。パスフレーズは、後で-pオプションを使用して変更できます。

失われたパスフレーズを回復する方法はありません。 パスフレーズを紛失または忘れた場合は、新しいキーを生成し、対応する公開キーを他のマシンにコピーする必要があります。


秘密鍵の読み取りに問題がある場合、SSHはパスフレーズの入力を要求することがわかりました。空のファイルを渡し、パスフレーズを要求しました。
makhdumi 2015

1
つまりssh -v、キーファイルにはアクセス許可が必要なので、実際のエラーを確認するには実行する必要があります。通常、これはアクセス許可の問題0600です。
刺激物2015

また、ユーザーがキーファイルを所有していない可能性もあります。これは、他のユーザーからキーをコピーしているときによく起こります。
Rusty Weber

@stimur 400で十分です
030

3

刺激の答えに基づいて、はい、sshはキーのパスフレーズを求めています。つまり、そもそもキーを使用しているということです。

それが必要な場合-パスフレーズで保護された秘密鍵の場合、を使用ssh-agentしてパスフレーズ(または復号化された秘密鍵、どちらを使用するかわからない)を覚えておけば、パスフレーズを再度入力しなくてもログインできます。あなたはそれを無期限に、または固定された時間の間覚えることができます。

man ssh-agentそしてman ssh-add


ssh-agent、ssh-addを実行し、sshコマンドを実行した後もパスフレーズが要求された場合はどうなりますか?そして、パスフレーズを入力すると、パスフレーズが間違っていると思われるため、パスワードを要求することさえありますか?パスフレーズが間違っている場合、ssh-addコマンドもそれを受け入れません。
Darius.V 2015

ダライアス:パスフレーズが間違っているか、複数のキーを持っています。ssh -vオプションを試してください。
Valmiky Arquissandas

-vvvを試してみました。パスフレーズを尋ねた後-「パスフレーズはありません。次のキーを試してください」と表示されます。しかし、pashprhaseは空の文字列なので、Enterキーを押すだけです。次に、「パケットを送信しなかった、メソッドを無効にした」と「authmethod_lookupパスワード」を書き込み、いくつかのメッセージの後にパスワードを尋ねます。''と入力して、それを入力しようとしました-悪いパスフレーズ。そして、私には複数のキーがあります。1つはパスフレーズ付きで、もう1つはパスフレーズなしです。しかし、私はsshコマンド-i id_rsaに渡し、パスフレーズなしで使用することを知っているはずです
Darius.V

@ Darius.V:でキーを明示的に指定し-i /path/to/key、sshの詳細な出力を確認し、さらにキーファイルの権限を確認できます。非公開ではなく公開鍵を使用していることを確認してください。
スティミュレーター2015
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.