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