SSHはキーファイルを無視し、誤ってパスワードを要求します


3

仕事のために、私はサーバーにSSH接続しています。私はこれを何ヶ月もやっていないので、パスワードを尋ねられるところで何かが変わった。以前は、認証後に機能していました。私が通常sshに書き込むものは次のとおりです。ssh -p2222 username@123.12.123.123

デバッグ情報を見ると、サーバーが適切なキーファイルを要求していないことがわかりました。代わりに、最初に削除した公開キー(id_rsa)を提供します。次に、秘密キーに変わります。次に、パスワードを要求しますが、パスワードは必要ありません。

debug1: Found key in /Users/myname/.ssh/known_hosts:40
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/myname/.ssh/id_rsa
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug1: Trying private key: /Users/myname/.ssh/id_rsa
debug1: Trying private key: /Users/myname/.ssh/id_dsa
debug1: Next authentication method: password

ただし、IDファイルを指定すると、機能しますssh -i ~/.ssh/correctkey username@123.12.123.123

これらのエラーは何を意味し、パスワードの入力を求められることなくsshを機能させるにはどうすればよいですか? これは重要です。これは、Fuguと呼ばれるGUI(SCPで使用可能な唯一のGUI)を使用しており、その中に-iオプションを使用できないためです!

方程式のサーバー側に修正する必要があるものはありますか?

ありがとう!


クライアント側のIDファイルを手動で指定しているときに機能する場合、問題はおそらくクライアント側にあります。
ケアナーボン

非標準の秘密鍵について知るようにSSHを設定する必要があります。以下の私の提案を参照してください

回答:


1

キーを使用してファイルの名前をデフォルトに変更するだけです。

~/.ssh/correctKey --> ~/.ssh/identity (on client machine)
~/.ssh/correctKey.pub --> ~/.ssh/identity.pub (on server machine)

それは不可能ですか?


だから、クライアントとサーバーの両方に変更correctKeyid_dsaますか?すぐにsysadminでこれを試します。

@ridicterはい。correctKey-> id_dsa(クライアント上)およびcorrectKey.pub-> id_dsa.pub(サーバー上)。これがDSAキーの場合、つまり、プロトコルバージョン2を使用している場合
-Ziffusion

@ridicterクライアントでこれを行う必要があると思います。「-i」オプションは機能しているように見えるため、公開鍵がサーバーに正しくインストールされていることを意味します。クライアントでcorrectKeyをid_dsaに変更するだけで、sshは自動的にそれを試行します。これはDSAキーですよね?
-Ziffusion

3

デフォルト以外の秘密鍵ファイル(例~/.ssh/correctKey:)がある場合IdentityFile~/.ssh/configファイルにディレクティブを追加することにより、その代替鍵を認識して使用するようにSSHを設定できます(まだ存在しない場合はプロセスでそのファイルを作成します) 。例えば、

$ cat ~/.ssh/config
IdentityFile ~/.ssh/correctKey

また、特定のホストで使用するデフォルトのポートを指定するなど、そのファイルで設定できる他の多くのオプションがあります(たとえば、123.12.123.123にログインするときは常にポート2222を使用します。デフォルトのユーザー名sshd_config(5)

更新 GUIアプリ(Fugu)がからSSH設定を直接読み取れない場合、[ ~/.ssh/configAdditional SSH Options]テキストボックスを使用して手動でオプションをSSHに渡すことができるようです:

フグのスクリーンショット

-i ~/.ssh/correctKeyそのテキストフィールドを介して渡すことができます。


数週間前に物事を理解しようとしていたときに実際にこれをやったことを忘れていました。はい、これは機能し、sshを簡単にします。ただし、configGUI SCPクライアントを使用している場合、このファイルは使用できません。この魔法のすべてを経験する必要がないように、物事をリセットする方法はありますか?

GUIクライアントは、sshコマンドラインツールを起動しませんか。たとえば、SSHを内部的に実装しているのですか。または、GUIアプリは、秘密キーまたはconfigファイルへの読み取りアクセス許可を持たない別のユーザーとして実行されていますか?SSHを介してGitを扱う私が使用するいくつかのGUIクライアント敬意を払ってい~/.ssh/configます。

あなたが試すかもしれないあなたのFugu GUIアプリ専用の回避策を追加しました、私の更新された答えを参照してください

ちょっとスチュアート、私も実際に数週間前にあなたのフグの答えを試してみました。残念ながら、機能しません。だから私はフグでオプションを使用できないと言った。これはバグが多く、長年にわたって更新されていません。ありがとう!

他のOS X SFTP / SCPアプリを試しましたか?私はPanicのTransmitアプリを好みますが、過去にCyber​​duckを使用していて、Macfusionについてまともなことを聞​​いたことがあります。apple.stackexchange.com/questions/25661/...
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.