我在我的 centos 机器 1(实验室 2)上生成了无密码 ssh 的密钥,
[root@cdl-lab-2 centos]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
fc:55:88:d5:f6:db:2b:b2:46:97:a0:e3:9e:b9:fb:73 root@cdl-lab-2
The key's randomart image is:
+--[ RSA 2048]----+
| .. |
| o .o |
| . .... |
| . . . .|
| S . o . o|
| + o o ..|
| . + . .|
| .o+ E . |
| .*=o= . |
+-----------------+
然后将其复制到authorized_keys。
cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
现在我可以不用密码 ssh 到我的机器(lab2)。但我无法将密钥文件复制到机器 2。所以我可以不用密码 ssh 到它。现在我甚至无法使用密码从机器 1 使用护照进入。抛出了以下错误
[root@cdl-lab-2 ~]# sudo ssh-copy-id -i $HOME/.ssh/id_rsa.pub centos@lab3
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
注意:我必须使用 putty(用户、密码以及 putty 私钥文件)连接机器
我认为我必须将此文件放在系统中的某个地方。有人能帮忙吗?
答案1
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
这意味着您尝试连接的机器不接受密码验证,因此您无法使用密码在那里复制密钥。
我认为我必须将此文件放在系统中的某个地方。有人能帮忙吗?
是的。地点是~/.ssh/authorized_keys
。
答案2
看来远程端不需要密码,而是需要密钥才能连接。查看 lab3 上的 /etc/ssh/sshd.config 文件,看看是否有一行内容
PasswordAuthentication no
如果是,请将 更改no
为yes
并重新启动 sshd 服务。这样就可以使用密码了。