简析SSH 使用password认证无法登陆的原因
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-04-09
在Redhat中,想用root用户使用password远程登录Linux,结果怎么都登录不了,后来纠结了一会儿,终于可以了!下面简单的做个小结,希望为同样遇到这么纠结问题的朋友提供一点借鉴.
在安装玩Linux之后,OpenSSH是默认开启的,但是这并不代表我们使用SSH客户端就能登录了.如果如下图设置好登录信息之后,点击connect.
出现如下图的错误
那么说先要做的就是检查一下,Linux的防火墙是不是把SSH给禁了.查看方法,在Linux命令行中输入setup
按tab,移到Run Tool 按enter
看到此时设置的安全级别是Hign ,那在这个安全级别上,SSH会被阻止的,我们要做的就是设置为No firewall.
当改完防火墙设置后,使用root用户,password认证连接SSH,结果还是连不上,此时可以查看一下sshd_config文件,这个文件存放在/etc/ssh/sshd_config,使用vim /etc/ssh/sshd_config 打开,查看它是否允许password认证连接,如下截图,如果是被注释的,那把# 去掉,然后记得serveice sshd restart.
通常更改这两处之后,使用root用户,password认证的SSH连接肯定是连得上的.
下面简单的说说sshd_config,它是ssh的主配置文件,vim /etc/ssh/sshd_config 查看ssh主配置文件.
#Protocol 2,1 ← 找到此行将行头“#”删除,再将行末的“,1”删除,只允许SSH2方式的连接 Protocol 2 ← 修改后变为此状态,仅使用SSH2 #ServerKeyBits 768 ← 找到这一行,将行首的“#”去掉,并将768改为1024 ServerKeyBits 1024 ← 修改后变为此状态,将ServerKey强度改为1024比特 #PermitRootLogin yes ← 找到这一行,将行首的“#”去掉,并将yes改为no PermitRootLogin no ← 修改后变为此状态,不允许用root进行登录 #PasswordAuthentication yes ← 找到这一行,将yes改为no PasswordAuthentication no ← 修改后变为此状态,不允许密码方式的登录 #PermitEmptyPasswords no ← 找到此行将行头的“#”删除,不允许空密码登录 PermitEmptyPasswords no ← 修改后变为此状态,禁止空密码进行登录 # hosts.deny This file describes the names of the hosts which are # *not* allowed to use the local INET services, as decided # by the ‘/usr/sbin/tcpd’ server. # # The portmap line is redundant, but it is left to remind you that # the new secure portmap uses hosts.deny and hosts.allow. In particular # you should know that NFS uses portmap! sshd: ALL # hosts.allow This file describes the names of the hosts which are # allowed to use the local INET services, as decided # by the ‘/usr/sbin/tcpd’ server. # sshd: 192.168.170. 默认打开也是空的,添加一天sshd:192.168.170. 这样就允许这个网段的主机使用SSH连接Linux了,这里既包括password认证和key认证.所有这些配置结束之后service sshd restart 才能生效! |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于简析SSH 使用password认证无法登陆的原因的所有评论