用root用户在secureCRT连接Ubuntu失败的排查方法

     Ubuntu系统有人性化的界面操作,但如果操作命令终端,还是比较麻烦的,所以一般通过secureCRT来连接,但题主在确保用户名和密码正确的前提下,用secureCRT连接总提示认证失败,网络论坛一顿找,最后解决的方式非常简单,在此总结一下该问题大致的解决步骤:

1、首先检查是否关闭了防火墙,

先查看防火墙开启状态,sudo ufw status,  如果是开启状态,则执行

sudo ufw disable进行关闭,或者为了安全起见,可以手动修改配置文件,针对特定端口开放权限,直接编辑/etc/sysconfig/iptables文件

1)vi /etc/sysconfig/iptables

加入内容并保存:-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

2)重启服务:/etc/init.d/iptables restart

3)查看端口是否开放:/sbin/iptables -L -n

2、再检查Ubuntu是否安装了ssh

 1)sudo apt-get install openssh-server openssh-client

2)rpm -qa | grep ssh查看SSH是否安装 若没有执行第1步

3)service sshd status 查看是否开启 如果没有继续下面

4)启动SSH服务 service sshd restart 停止服务 service sshd stop 

5)netstat -antp | grep sshd 查看是否启动22端口

6)chkconfig sshd on 设置SSH服务为开机启

3、如果安装了,再检查是否是权限问题

.ssh目录,以及/home/当前用户 需要700权限,参考以下操作调整

sudo chmod 700 ~/.ssh

sudo chmod 700 /home/当前用户

.ssh目录下的authorized_keys文件需要600或644权限,参考以下操作调整

sudo chmod 600 ~/.ssh/authorized_keys

4、再排查是否是StrictModes问题

编辑sudo vi /etc/ssh/sshd_config

找到#StrictModes yes

改成StrictModes no

5、再排查是否是RSAAuthentication的问题

1)/etc/ssh/sshd_config

RSAAuthentication yes

PubkeyAuthentication yes

都需要设置成yes

6)题主之前装的centos,用客户端连接没有遇到什么问题,现在装的Ubuntu,发现坑很多,各种检查都没问题,最后发现是Ubuntu安装ssh时,默认是禁止在客户端以root用户连接

设置如下:允许以 root 用户通过 ssh 登录:

sudo vi /etc/ssh/sshd_config

找到:PermitRootLogin prohibit-password禁用

改成:PermitRootLogin yes

sudo service ssh restart

大功告成,但回头一想,这么简单的问题困扰了半天也是醉了,在此分享,希望对看到这篇文章的同学有所帮助。。。。

你可能感兴趣的:(用root用户在secureCRT连接Ubuntu失败的排查方法)