
SSH是一种常用的协议,旨在提供安全的远程登录和执行远程命令。SSH允许用户在不暴露明文密码的情况下连接到远程主机,因为用户只需使用密钥对进行身份验证。然而,有时SSH无法使用密钥对进行身份验证,而是需要使用密码进行身份验证。这种情况下,有时无法使用密码进行身份验证,这可能是因为一些配置错误或安全问题。
本文将介绍如何解决在Linux系统中SSH无密钥登录失败的问题。
1.检查目标主机上的SSH配置
在进行SSH无密钥登录时,目标主机的SSH配置非常重要。确保以下设置已正确设置:
允许无密码登录:确保目标主机上的SSH设置允许无密码登录。打开/etc/ssh/sshd_config文件,并确保以下设置:
RSAAuthentication yes
PubkeyAuthentication yes
禁用密码身份验证:禁用密码身份验证可以增加安全性,但需要使用密钥对进行身份验证。在此设置时,请务必小心,确保您在使用SSH之前已正确设置密钥对。
PasswordAuthentication no
保存更改后,重启SSH服务。
2.检查本地主机上的SSH配置
确保您的本地主机安装了SSH客户端,并正确配置SSH。
检查本地主机上的SSH配置文件/etc/ssh/ssh_config,确保以下设置已启用:
IdentityFile ~/.ssh/id_rsa(如果您的密钥是id_rsa)
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
保存更改并退出文件。
3.生成新的SSH密钥对
如果您尚未生成SSH密钥对,则需要生成新的密钥对。如果您已经有SSH密钥对,则可以跳过此步骤。
要生成新的SSH密钥对,请在本地主机上打开终端,然后运行以下命令:
$ ssh-keygen
依据提示输入以下信息:
输入密钥的名称(默认名称为id_rsa)。
输入密码(如果需要)。
4.将公钥添加到目标主机上
要使用SSH密钥对进行身份验证,您需要将公钥添加到目标主机的用户帐户中。
打开终端并运行以下命令:
$ ssh-copy-id user@remote_host
其中,user和remote_host都是您要登录的目标主机的用户名和主机名。
输入您的密码,然后等待公钥上传。
5.测试SSH连接
您需要测试SSH连接是否正常工作。
在本地主机的终端上,运行以下命令:
$ ssh user@remote_host
如果所有设置正确,则您应该无需输入密码即可连接到远程主机。如果登录成功,则可结束此过程。
结论
本文介绍了如何解决Linux系统中SSH无密钥登录失败的问题。如果您遇到此问题,请尝试按照本文所述的步骤进行处理,以便您可以快速轻松地解决问题。
相关问题拓展阅读:
- root账户用ssh-keygen创建公私钥失败怎么回事
root账户用ssh-keygen创建公私钥失败怎么回事
使用下例中ssky-keygen和ssh-copy-id,仅需通过3个步骤的简单设置而无需输入密码就能登录远程Linux主机。
ssh-keygen 创建公钥和密钥。
ssh-copy-id 把磨销本地主机的公钥复制到远程主机的authorized_keys文件上。
ssh-copy-id 也会给远程主机的用户主目录(home)和~/.ssh, 和~/.ssh/authorized_keys设置合适的权限 。
步骤1: 用 ssh-key-gen 在本地主机上创建公钥和密钥
ligh@local-host$ ssh-keygen -t rsa
Enter file in which to save the key (/home/jith/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/jith/.ssh/id_rsa.
Your public key has been saved in /home/jith/.ssh/id_rsa.pub.
The key fingerprint is: 33:b3:fe:af:95:95:18:11:31:d5:de:96:2f:f2:35:f9
ligh@local-host
步骤2: 用 ssh-copy-id 把公世游厅钥复制到远程主机上
ligh@local-host$ ssh-copy-id -i ~/.ssh/id_rsa.pub
ligh@remote-host‘s password:
Now try logging into the machine, with ―ssh ?remote-host‘‖, and check in:
.ssh/authorized_keys to make sure we haven‘t added extra keys that you weren‘t expecting.
步骤3: 直接登录远程主机
ligh@local-host$ ssh remote-host
Last login: Sun Nov 16 17:22:from 192.168.1.2
ligh@remote-host$
linux ssh无密钥失败的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux ssh无密钥失败,解决Linux SSH无密钥登录失败问题,root账户用ssh-keygen创建公私钥失败怎么回事的信息别忘了在本站进行查找喔。
香港服务器首选树叶云,2H2G首月10元开通。
树叶云(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/190952.html<