初めてSSHに接続しようとしました。しかし、それは言う
The authenticity of host '[<host>]:<port>' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[<host>]:<port>' (ECDSA) to the list of known hosts.
root@<host>: Permission denied (publickey).
違反がありますか?
答え1
そこには2つのメッセージがあります。
最初は、接続されたコンピュータの公開鍵の指紋がまだわからないことを示しています。受け入れる前に、別のセキュリティチャネルを介して指紋を送信して、指紋が正しいことを確認してください。 (他の人が見ることはできますが、自分の指紋に置き換えることはできません。)
2番目の部分root@<host>: Permission denied (publickey).
は少しあいまいです。しかし、確認すべき点は次のとおりです。
sshd
(サーバー)は通常、ルートログインをブロックするように設定されます。権限を持つ新しいユーザーを追加する必要がありますsudo
。またはあまり良くないssh
回避策は、ルートログインを許可するように設定を変更することです。
次に、次の点を確認してください。
- 公開鍵を入れますか
~root/.ssh/authorized_keys
? - 他のグループや他の人がファイルを読み書きできないように権限を設定します
~root/.ssh
。ただし、ルートは少なくとも読み取ることができます。 - エージェント(
ssh-add
)にキーを追加してください。
-v
それでも機能しない場合は、詳細モードまたはまたは-vv
をオンにして-vvv
1から始めて、必要に応じて増やします。
それでも問題が解決しない場合は、リモート側のログを確認してください。