我正在尝试将一个文件从远程服务器复制到另一个远程服务器。我通过ssh-keygen -t rsa
从服务器A生成了一个公钥,并将公钥的内容复制到服务器B中的.ssh/authorized_keys
文件中。
然而,当我试图通过ssh‘’ing到服务器B来测试连接时,我会得到一个拒绝权限的错误。我遗漏了什么吗?
发布于 2023-01-16 09:09:59
我能够通过向配置文件中添加IdentityFile ~/.ssh/identity
标志来修复它。正如@Kamil所提到的,这是因为~/.ssh/identity
不是本地ssh
默认检查来加载私钥的路径之一。显式添加IdentityFile
允许ssh检查私钥的指定路径。
发布于 2023-01-16 09:54:19
#
(输入)(输入)(输入)
#ssh-id -i /root/.ssh/id_rsa.pubroot@x.x (ip服务器B)
测试: ssh root@x.x (ip服务器B)
注意,如果服务器B有一个非默认的ssh端口-将其放在命令中或更改ssh文件。
/etc/ssh/ssh_config
第41行
港口22
改变它
端口X(portssh服务器B)
发布于 2023-01-16 10:04:37
SSH协议版本1的默认版本是~/.ssh/identity
(现在大部分未使用)。对于SSH 2,~/.ssh/id_rsa
是所有者私钥文件的典型路径或符号链接。这就是为什么在上面的ssh-copy示例中提到了id_rsa.pub,因为ssh-keygen在默认情况下为私钥提出了~/.ssh/id_rsa
,对于公钥则建议使用~/.ssh/id_rsa.pub
。
https://unix.stackexchange.com/questions/731709
复制相似问题