SSH远程登录失败,提示“Password authentication failed”


The authenticity of host '10.3.25.201 (10.3.25.201)' can't be established.


The authenticity of host can't be established.


这个原因可能是本地主机的key发生了变化,因此每次SSH链接都会有提示,只需要在交互下输入yes即可。
当然如果长久的想解决问题,可以采用以下方法:
1、使用ssh连接远程主机时加上“-o StrictHostKeyChecking=no”的选项,去掉对主机的验证检查。

ssh -o StrictHostKeyChecking=no 192.168.xxx.xxx
注:192.168.xxx.xxx 为本地ip地址:windows ipconfig查看,linux ifconfig查看

2、当然你也可以直接改配置文件信息,这样彻底去掉验证。

修改/etc/ssh/ssh_config文件(或$HOME/.ssh/config)中的配置,添加如下两行配置:

StrictHostKeyChecking no
UserKnownHostsFile /dev/null
注:不过采用第二种方法,容易造成潜在的危险。可以参考Stackoverflow上的题:
ssh: The authenticity of host ‘hostname’ can’t be established

方法一:

1. vi服务器端的/etc/ssh/sshd_config

2. 把 PasswordAuthentication 设成yes

3. 重启ssh服务

方法二:

1.vi服务器端的/etc/ssh/sshd_config

2.找到#PermitRootLogin no将其修改为 PermitRootLogin yes


(1)检查并确定密码没有错误

 (2)在服务器上用id命令查看该用户名是否存在(id XXX ),如不存在,则创建该用户(useradd XXX),并为该用户设置密码(passwd XXX)

(3)若是root用户登录提示上述错误,一般是配置文件中将root设置为不允许远程登录。编辑sshd配置文件,将PermitRootLogin 设置为yes,以允许root登录。最后重启sshd服务(systemctl restart sshd)

 [root@server ~]# vim /etc/ssh/sshd_config 
……此处省略部分信息……
#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10


方法四:

1.客户端使用 ssh -v root@192.168.0.120 查看登陆信息

2.提示“Permission denied, please try again.”

3.查看防火墙

  #/etc/init.d/iptables status

  如果22端口被限制则无法登陆。

  放开端口22

 #/sbin/iptables -I INPUT -p tcp –dport 22 -j ACCEPT

 #/etc/rc.d/init.d/iptables save
 
 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐