我第一次尝试连接到 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
你那里有两条消息。
第一个是告诉您您还不知道您所连接的机器的公钥指纹。在接受之前,请通过单独的安全通道传输来检查指纹是否正确(其他人看到它也可以,但他们不能用自己的指纹替换它)。
第二部分root@<host>: Permission denied (publickey).
有点模棱两可。但这里有一些事情需要检查:
sshd
(服务器)通常配置为阻止 root 登录。您需要添加一个具有sudo
权限的新用户。或者一个不太好解决方案是更改 的配置ssh
,以允许 root 登录。
然后检查您是否:
- 将您的公钥放入
~root/.ssh/authorized_keys
? - 设置权限,以便其他组或其他人无法读取或写入
~root/.ssh
或其中的文件,但 root 至少可以读取。 - 将您的密钥添加到您的代理 (
ssh-add
)。
如果这不起作用,请打开详细模式-v
或-vv
或-vvv
,从 1 开始,然后根据需要增加。
如果这不起作用,请查看远程端的日志。