我正在尝试将文件从远程服务器复制到另一个远程服务器。我已通过服务器 A 生成了公钥,ssh-keygen -t rsa
并将公钥的内容复制到.ssh/authorized_keys
服务器 B 中的文件中。
然而,当我尝试通过 ssh 连接到服务器 B 来测试连接时,出现权限被拒绝错误。我缺少什么吗?
答案1
我可以通过IdentityFile ~/.ssh/identity
向配置文件添加标志来修复它。正如@Kamil提到的,这是因为不在本地默认检查加载私钥~/.ssh/identity
的路径中。ssh
显式添加IdentityFile
允许 ssh 检查私钥的指定路径。
答案2
答案3
SSH 协议版本 1 的默认值是~/.ssh/identity
(现在大部分未使用)。对于 SSH 版本 2,~/.ssh/id_rsa
是所有者私钥文件的典型路径或符号链接。这就是为什么id_rsa.pub中提到ssh 复制 ID上面的例子,因为ssh 密钥生成器默认建议~/.ssh/id_rsa
使用私钥和~/.ssh/id_rsa.pub
公钥。