キーを使用したMacOS SSH接続


3

SSHキーを使用してホストに接続しようとしています。キーペアを生成し、サーバーの認証キーに公開キーを追加しました。

ただし、秘密鍵を使用してサーバーに接続することはできません。接続するたびにパスワードの入力を求められます。

私は実行しようとしましたがssh-add my_key_name、それは問題なく追加されたと言いました。しかし、それは機能していません。

また、私はに追加しようとしました config

Host alias
    HostName host
    User user_name
    IdentityFile ~/.ssh/id_rsa

また、機能していません。ssh alias動作しますが、パスワードを要求します。


何が失敗しているかについてもう少しコンテキストを取得すると役立つでしょう。-vvv冗長フラグを使用して接続中にログを記録すると、通常、機能していない理由が正確に示されます。さらに、サーバーへのログイン、およびsecure.logの追跡は、実際にサーバーの構成ミスが発生した場合のもう1つの優れたリソースです。ただし、99%の時間は、ローカルマシンのアクセス許可の問題です。
ライブレッド

このためのハウツーを書きました。参照: apple.stackexchange.com/questions/285805/how-to-ssh-in-one-line/…–
アラン

sshキーは、接続先のサーバーがクライアントが保持している秘密キーに対応する公開キーを既に知っている場合にのみ機能します。これを最初に行うために必要な手順を実行する必要があります。
するThorbjörnRavnアンデルセン

回答:


1

何が起こっているかの詳細な説明については、SSH Agentsを参照してください。ページの途中で、OS XとmacOSにSSHエージェントがあります。

AppleのテクニカルノートTN2449-macOS 10.12.2のOpenSSHアップデートも参照してください。

設定ファイルにいくつかの行を追加する必要があります。

# enable integration between Keychain and SSH Agent  
UseKeychain yes  
AddKeysToAgent yes

あなたがそれをやったら、私が思うに、あなたのパスワードを入力する必要があります最初に、あなたのサーバーにsshを時間を。その後、指定したキーが使用されます。

したがって、設定ファイルは次のようになります。

Host alias
    HostName host
    User user_name
    IdentityFile ~/.ssh/id_rsa
    # enable integration between Keychain and SSH Agent  
    UseKeychain yes  
    AddKeysToAgent yes

3

SSHキーを使用して接続するには、キーを使用してマシンからリモートサーバーにキーをコピーする必要がありますssh-copy-id user@remote_ip_address

リモートサーバーのパスワードを入力するよう求められ、キーがコピーされます。

パスワードを使用してキーペアを生成した場合、接続時に常にそのパスワードを入力する必要があります。そうでない場合は、を使用して簡単に接続できssh user@remote_ip_address、リモートマシンに接続されます。


指示に従って、私は、サーバー上の鍵ペアを生成してきたし、プライベート1そこからコピー
セルゲイ

2

authorized_keysの権限は正しいですか?ユーザーが400を所有している必要があります。

リモートサーバーのログを確認します。通常、SSHでの認証の問題をデバッグするのに役立ちます。


authorized_keysファイルの権限を確認することに加えて、〜/ .sshディレクトリ自体に700の権限が必要です。
guzzijason
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.