Ubuntu某些用户无法通过SSH远程登陆问题

mattuy 2018年01月15日 303次浏览

网上看到很多博客都是解决root用户无法登陆的,也不知道是不是因为是虚拟主机自动配置好的原因,我的ubuntu直接可以root登陆。这里也贴一下root用户无法登陆的解决方案。

修改ssh配置文件:

vi /etc/ssh/sshd_config

找到PermitRootLogin yes,去掉注释;或者把no改为yes;没有则添加。

但是我的问题并不是这个,我的root用户可以登陆。但我之前创建的一个新用户newuser,通过puTTY登陆时提示:

error: server unexpectly closed network connection!

网上找了一些不多的解决方案(更多是解决root用户不能登陆的),其中有一个:

修改/etc/ssh/sshd_config配置文件,配置<AllowUsers newuser root>。

很遗憾,失败。

后来灵机一动,查看了/etc/passwd文件,对比发现newuser和root的最大区别:

root的用户组是root,而newuser之前为了设置ftp的特殊访问权限(不限制目录)而设置成了ftp用户组,然后为了增加权限给添加到了root组(其实好像没有鬼用,还是修改sudoer给sudo权限来得有用),所以newuser的用户组为,root,ftp。

鬼使神差(死马当活马)地,把newuser添加到了newuser用户组,然后访问,哈,竟然成了!

不过,好像每个用户最多只能属于两个组,所以现在ftp用户组被挤下去了,就只能把root组去掉而重新设置了ftp组。

另外,之前在/etc/ssh/sshd_config文件添加了行<AllowUsers newuser root>,注释掉后发现并不影响(也对,不然之前没有的时候root为什么可以登陆),应该是ubuntu默认Allow all user了。


1/15/2018

后来才知道,【1】处所谓的把ftp挤下去了才是重点。并不是要用户组和用户名相同才能登陆,而是用户组不能包含ftp。可能是为了限制ftp用户的权限吧。

之所以知道这个是因为后来手贱把ftp用户组添加上去了......然后......嗝。

取消了ftp用户组,果然又可以了!

之前说了添加ftp用户组是为了方便特殊权限的ftp访问,其实我在vstpd.conf中配置了特殊访问用户列表(默认文件/etc/vsftpd.chroot_list),取消了ftp用户组后并没有任何影响(不知道和配置的那个东西有没有关系)。