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