回答:
最初に.ssh
ディレクトリとauthorized_keys
ファイルを作成する必要があります。
.ssh
ディレクトリを作成します。
mkdir ~/.ssh
適切な許可を設定します。
chmod 700 ~/.ssh
authorized_keys
ファイルを作成します。
touch ~/.ssh/authorized_keys
適切な許可を設定します。
chmod 600 ~/.ssh/authorized_keys
権限は重要です!適切な権限がないと機能しません!
これで、公開鍵をauthorized_keys
ファイルに追加できます。
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
SSHキーを使用して、アクセスするコンピューターのファイルにコンピューターの公開キーを追加する必要があります。authorized_keys
terdonが述べたように、次のコマンドも使用できます。
ssh-copy-id user@host
これにより、id_rsa.pub
(~/.ssh
コンピューターのディレクトリに)リモートコンピューターのauthorized_keys
ファイルが配置され、必要に応じて適切なアクセス許可を持つ.ssh
ディレクトリとauthorized_keys
ファイルが作成されます。
cat
それだけをしたくありません、それssh-copy-id
が目的です。
私には十分な評判がないので、これをここに追加します。あなたがまだ作成したユーザーとしてsshを介してログインできない場合のLouis Matthijssenの答えに加えて、
ssh username@host
これは、/ home / username / .sshフォルダーに追加する必要がある所有者のアクセス許可がないためです。私は同じ問題を抱えていて、この許可を次のように与えることができます:
chown -R username:username /home/username/.ssh
これはおそらく、ディレクトリを作成し、パーミッションをrootとして設定していたが、サーバーにアクセスするユーザー名としてではなく、単に発生した可能性があります。
これが誰かを助けることを願っています。
でキーを作成するときにssh-keygen
ファイル名を指定すると、これも失敗します。名前を入力すると、フォルダの代わりにmy-ssh-file-name
キー/Users/MyUserName
が.ssh
書き込まれました。ファイル名を空白のままにすると.ssh
、期待どおりに書き込みます。
~/.ssh/authorized_keys
自分のキーではなく、接続/信頼している他のコンピューターのキーです。