root@media:~# useradd -d/data_1/ftp/zhangyu/ -s /bin/bash zhangyulinux
root@media:~# passwd zhangyushell
建立用户并设置密码,使用winscp登陆,设置以下图所示:tomcat
接下来弹出以下图所示的对话框,要求输入密码,最初想着是密码输错了便再次输入密码,但是仍然登陆不上去,仍是弹出下图所示的对话框,登陆服务器将用户zhangyu的密码从新设置后再次登陆,报错信息依旧安全
使用图像界面登陆不上去,我就尝试使用Xshell工具进行链接,仍然不能登陆,报错信息以下图所示:bash
真的很郁闷,不就建立一个用户么怎么就是不能正常登陆呢,百度搜索给出以下两种缘由:服务器
1::服务没有启动ssh
2:卸载openssh-server软件再进行安装ide
查看SSH服务的状态:工具
root@media:~# service ssh statusui
ssh start/running, process 26629
因为是生产环境,并且其余用户均可以正常登陆使用,应该不是软件的软件,便找来同事一块儿看这个问题,咱们从新建立用户并设置密码,用户信息所有采用默认设置(以前建立的用户的路径是指定的),再次登陆仍是不行,后来就猜测是否是作了什么安全策略或者是安全设置,查看ssh服务的主配置文件,发现里面有一项AllowUsers,呵呵,总算知道是怎么回事了,原来是在这里作了设置
cat /etc/ssh/sshd_config
AllowUsers tomcat aaa
接下来将zhangyu的姓名添加到AllowUsers一行,重启ssh服务
cat /etc/ssh/sshd_config
AllowUsers tomcat aaa zhangyu
root@media:~# service ssh restart
ssh stop/waiting
ssh start/running, process 31258
Winscp能够正常登陆
Xshell也能够正常登陆
问题解决了,我查看了一下Linux SSH是如何管理用户登陆
参考文档:http://www.linuxidc.com/Linux/2013-02/79674.htm
方法一:(allow 容许)
1、在/etc/pam.d/sshd文件中加入如下行(注:加入到第一行)
authrequired /lib64/security/pam_listfile.so item=user sense=allowfile=/etc/sshusers onerr=fail
2、在/etc下创建sshusers文件,编辑这个文件,加入你容许使用ssh服务的用户名便可。
echo"lgh" >> /etc/sshusers
方法二:(deny 拒绝)
1、在/etc/pam.d/sshd文件中加入如下行(注:加入到第一行)
authrequired /lib64/security/pam_listfile.so item=user sense=denyfile=/etc/sshd_user_deny_list onerr=succeed
2、在/etc下创建sshd_user_deny_list文件,编辑这个文件,加入你不容许使用ssh服务的用户名便可。
echo"test" >> /etc/sshd_user_deny_list
方法三:(AllowUsers)
1、在/etc/ssh/sshd_config配置文件中设置AllowUsers选项,(配置完成须要重启SSHD服务)格式以下:
AllowUsers lgh test #容许lgh、test账户经过SSH登陆系统。
方法四:(DenyUsers)
1、在/etc/ssh/sshd_config配置文件中设置DenyUsers选项,(配置完成须要重启SSHD服务)格式以下:
DenyUsers zhangsan wangwu #拒绝zhangsan、wangwu账户经过SSH登陆系统。