我正在尝试将 id_rsa.pub 密钥复制到服务器。在我的例子中,服务器还有一台名为 dev 的虚拟机,它在主机上运行。我使用此命令将 id_rsa.pub 密钥复制到主机以进行自动登录。
ssh-copy-id -i ~/.ssh/id_rsa.pub vickey@host
运行良好,我可以自动登录主机。我还想自动登录开发机器。我知道我可以将 authorized_keys 的内容从主机复制到开发机器,但我正在寻找命令行来做事情。创建隧道似乎是解决方案
ssh vickey@host -L 2000:dev:22 -N
现在当我尝试
ssh-copy-id -i ~/.ssh/id_rsa.pub vickey@localhost -P 2000
这里起作用的密码是我本地机器的密码,我预计它会询问我开发机器的密码。上述命令将公钥添加到本地机器,而不是开发机器。
但是这个命令要求我输入开发密码并复制文件。
scp -P 2000 vickey@localhost:/home/vickey/trash/vim .
vickey@localhost's password:
vim 100% 111 0.1KB/s 00:00
如何使用 ssh-copy-id 执行相同操作?
答案1
问题是ssh-copy-id
没有开关-P
。另外,请阅读这发帖来了解为什么您无法登录ssh -p 2000 vickey@host
。
因此,您要么需要在主机上创建新身份,然后将其公钥复制到设备,要么将现有私钥复制到主机,然后将其公钥复制到设备。第一种选择更可取。