公開鍵でログインしようとすると、SSHはパスワードを要求します。

公開鍵でログインしようとすると、SSHはパスワードを要求します。

この行は私のサーバーに存在しますが、/etc/ssh/ssd_config

RSAAuthentication yes
PubkeyAuthentication yes

認証に使用される秘密鍵を明示的に提供して上記のサーバーにログインしようとすると、パスワードの入力を求められます。

$ ssh -i ~/Desktop/some_id_rsa myusername@server-hostname
myusername@server-hostname's password: 

答え1

権限を変更してくださいauthorized_keys

chmod 600 ~/.ssh/authorized_keys

答え2

authorized_keysすべてのキーを削除してキーをバックアップしたら、次の手順に従ってください。

1. クライアントからキーを生成します。

ssh-keygen -t rsa -b 4096

2. 公開鍵をリモートデバイスにコピーします。

2.A.使用ssh-copy-id(最良の選択)

ssh-copy-id <user>@<remote-host>

2.B.セキュリティレプリケーションの使用(リモートCentOSホストに推奨)

  • B.1.まず、リモートユーザーとのSSH接続を確立します。
ssh <user>@<remote-host> -p <port>
  • B.2.次に、~/.sshディレクトリとauthorized_keysファイルを作成します。
mkdir -vp ~/.ssh
touch ~/.ssh/authorized_keys
  • B.3。chmodファイル権限を変更するには、次のコマンドを使用します。
sudo chmod -v 700 ~/.ssh
sudo chmod -v 600 ~/.ssh/authorized_keys
  • B.4。次のように入力して、id_rsa.pubコンテンツ(SSH公開鍵)をauthorized_keysリモートサーバーに以前に作成されたファイルにコピーします。
scp ~/.ssh/id_rsa.pub -P <port> <user>@<remote-host>:~/.ssh/authorized_keys

メモ:

ディレクトリ$HOME.sshファイルがauthorized_keysクライアントで正しい権限を持っていることを確認してください。

sudo chmod -v 700 ~
sudo chmod -v 700 ~/.ssh
sudo chmod -v 600 ~/.ssh/authorized_keys
  • chmod 700ファイルを実行可能にする
  • chmod 600ユーザーがファイルを読み書きできるようにします。

関連情報