关于Xshell连接不上linux以及密码错误
最近在用xshell的时候发现的问题。首先你要确保你的虚拟机是否安装ssh。
命令为:sudo apt-get install openssh-server openssh-client
安装完成后重启linux
查看22端口是否开通,执行命令:netstat -tnl
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 ::1:631 :::* LISTEN
可以看到22号端口已开通。
下面是密码错误问题。
接下来就是最核心的地方,很多人都卡在这一步:
你用xshell登录选择的是什么用户,如果是root用户你就得开一个权限
因为默认sshd的设置不允许root用户远程登录,这个用户名很重要
你随便写个用户名是登录不上的,因为虚拟机中没有你随便写的用户你当然是登不上的。
比如我当前用户名是zhangsan,你输入个lisi这当然是登录不上的,因为不存在这个用户。
建议不要使用root登录。如果非要用root登录需要改权限。
命令:sudo vi /etc/sshd/ssh_config
改成这样,这样虚拟机就允许root用户登陆了。