以下のコマンドの出力を理解するのに問題があります。 godaddyサーバーに接続しようとして失敗しました。 godaddyのcpanelでSSHアクセスを有効にし、公開/秘密鍵を生成し、秘密鍵をダウンロードして移動して~/.ssh
使用するssh-add -K ~/.ssh/mykey
ことはできません。サイトに別の質問があることを知っていますが、実際の出力を提供し、なぜ失敗するのか疑問に思います。
なぜ名前付きSSHキーが見つからないのかわかりません。key4govi
id_rsa
(それが私の秘密鍵と呼ばれるものです。(出力からの仮定)彼らの鍵を見るようです。
以下は、ローカルシステム上の.sshフォルダのフォルダの内容です。
github_rsa
github_rsa.pub
id_rsa
id_rsa.pub
key4govi
key4govi.pub
known_hosts
これは私のコマンドです:
~ => ssh [email protected] -vv
出力は次のとおりです。
OpenSSH_6.9p1, LibreSSL 2.1.8
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 20: Applying options for *
debug1: /etc/ssh/ssh_config line 53: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to callydai.com [107.180.55.15] port 22.
debug1: Connection established.
debug1: identity file /Users/raigovind93/.ssh/id_rsa type 1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/raigovind93/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/raigovind93/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/raigovind93/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/raigovind93/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/raigovind93/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/raigovind93/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/raigovind93/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.9
ssh_exchange_identification: read: Connection reset by peer
答え1
ssh_exchange_identification: read: Connection reset by peer
さまざまなエラーを指摘してください。これは、SSHサーバーに接続できますが、正しい「hello」メッセージを受け取らずに接続がすぐに終了することを意味します。そこにサーバーが動作していますか?接続を許可するどのようなポリシーはありませんか?正しいリバースDNSレコードがありますか?
キーチェーン内のキーが正確で正しいキーに接続できるようになると、キーが提供されます。タッチされた他のキーはデフォルトパスであり、sshは常にそのキーを開こうとします。
答え2
答えが遅かった。エージェント/キーチェーンのキーがすでにロードされている可能性がありますが、SSHクライアントがプロキシをまったく使用しようとしていないようです。。
-K
このオプションの意味は、OpenSSHのバージョンによって異なります。ssh-add
「キーチェーン」という言葉に言及したという事実は、あなたに馴染みのあるMacOSのカスタムバージョンを暗示しssh-add
、このオプションがこれに適しているようです。
一般的なOpenSSH(バージョン8.4)では、オプション-K
はFIDO認証者からキーをロードするため、ここではクライアントOSのバージョンが重要になる可能性があります。
この場合、確認する事項は次のとおりです。
基本的な健全性チェック:
SSH_AUTH_SOCK
環境変数は存在しますか?有効なUNIXソケットを指していますか?fuser $SSH_AUTH_SOCK
現在のログインセッションの一部であるユーザーアカウントが所有するプロセスのPIDを表示する必要があります。ssh-agent
実行されたと言われましたが
ssh-add -K ~/.ssh/mykey
、実際の秘密鍵ファイル名が..~/.ssh/key4govi
質問文を書くときにはただの間違いだったようですが、実際に実行しましたねssh-add -K ~/.ssh/key4govi
…そうですか?ファイルが
~/.ssh/key4govi
正しく保護されていますか?man ssh-add
言った(強調):
IDファイルは、ユーザー以外は誰でも読み取ることができません。気づく
ssh-add
他の人がアクセスできる場合、IDファイルは無視されます。
did~/.ssh/key4govi
の権限がそれより許容できる場合は無視される可能性-rw-------
があるため、コマンドssh-add
はまったく実行されない可能性があります。
~/.ssh/config
明示的に許可されていない限り、SSHエージェント/キーチェーンの使用を停止するカスタム設定はありますか?
答え3
ファイルにキーを割り当てます.ssh/config
。プロフィールはあなたの友人です。
Host some-name
# The actual host name or IP address of the server
HostName xxx.xxx.xxx.xx
User username
IdentityFile ~/.ssh/some-key-edcsa
これにより、入力時にssh some-name
その名前に関連付けられたキーを使用しようとします。
答え4
たぶんこのコマンドを試してみてください。
ssh-copy-id -i identity-file(ex.id_rsa.pub) user@server
アカウントのパスワードを入力するように求められます。つまり、パスワードをPasswordAuthentication yes
設定する必要があります。
このコマンドは、.ssh/authorized_keys に必須項目を生成します。したがって、その後、次の方法でサーバーに接続できる必要があります。ssh -i identity-file user@server