ubuntu 创建新用户ssh登录

Posted mangues

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu 创建新用户ssh登录相关的知识,希望对你有一定的参考价值。

一.添加新用户

sudo useradd mangues

useradd与adduser都是创建新的用户
1、useradd在使用该命令创建用户是不会在/home下自动创建与用户名同名的用户目录,而且不会自动选择shell版本,也没有设置密码,那么这个用户是不能登录的,需要使用passwd命令修改密码。
2、adduser在使用该命令创建用户是会在/home下自动创建与用户名同名的用户目录,系统shell版本,会在创建时会提示输入密码,更加友好。

二.修改SSH配置

sudo vim /etc/ssh/sshd_config 
AllowUsers root mangues

1、限制用户SSH登录(白名单)

AllowUsers mangues mangues@192.168.0.1
允许 mangues 和从 192.168.0.1 登录的 mangues 帐户通过 SSH 登录系统。

2、限制用户SSH登录(黑名单)

DenyUsers mangues
拒绝 mangues 帐户通过 SSH 登录系统

3.限制IP SSH登录

linux 服务器通过设置/etc/hosts.allow和/etc/hosts.deny这个两个文件,hosts.allow许可大于hosts.deny可以限制或者允许某个或者某段IP地址远程 SSH 登录服务器,方法比较简单,且设置后立即生效,不需要重启SSHD服务

1./etc/hosts.allow添加

sshd:192.168.0.1:allow  #允许 192.168.0.1 这个IP地址SSH登录
sshd:192.168.0.:allow #允许192.168.0.1/24这段IP地址的用户登录,多个网段可以以逗号隔开,比如192.168.0.,192.168.1.:allow

2./etc/hosts.allow添加

sshd:ALL #允许全部的ssh登录

hosts.allow和hosts.deny两个文件同时设置规则的时候,hosts.allow文件中的规则优先级高,按照此方法设置后服务器只允许192.168.0.1这个IP地址的SSH登录,其它的IP都会拒绝。

3./etc/hosts.deny添加

sshd:ALL #拒绝全部IP

三、ssh无法远程连接ubuntu系统,提示”System is booting up. See pam_nologin(8)

修改文件: /etc/pam.d/sshd
注释掉 pam_nologin.so 行,命令如下

sudo sed -i -r 's/^(.*pam_nologin.so)/#\\1/' /etc/pam.d/sshd

或者直接用vi打开,找到这行,前边加 # 号,如下:

四、指定mangues用户访问某些文件夹或者文件

1.基础知识:

1.linux文件权限

文件的权限分为 所有人、所属组、用户组之外的
linux下,代表文件属性的,一共10个字符

ls -dl XXX    #查看文件的权限

比如:

1.第一个字符,区分文件和目录。

你这里的“d”代表目录,directory。常见的还有“-”,代表普通文件;“l”,代表链接文件,link。等等。

2.二三四、五六七、八九十,都是代表权限的。

二三四,代表文件所属用户的权限;五六七,代表文件所属用户组内其他用户的权限;八九十,代表用户组外其他用户的权限。
每组权限意思相同,r的意思是read,允许读取;w的意思是write,允许写入;x的意思是execute,允许执行。如果不允许读,第一个就是“-”;不允许写,第二个就是“-”;不允许执行,第三个就是“-”。
例如,一个文件权限是 lrwxr–r–,代表的意思就是:这是一个link文件,“rwx”代表所属用户可以读取、写入和执行;中间的“r–”代表用户组里的其他用户(除了所属用户)都只能读取,不能写入和执行;最后那个”r–”代表,用户组外的其他用户,也是只能读取,不能写入和执行。

3.权限的计算方法,使用二进制:

例如“rwx”,二进制就是111,“2的2次方”+“2的1次方”+“2的0次方”=7;
“r-x”,二进制就是101,“2的2次方”+“0的1次方”+“2的0次方”=3
……
所以,刚刚例子里的 lrwxr–r–,代表的权限数值就是744。
如果一个文件权限是 rwxrwxrwx,代表777,就是开放了所有权限,是很危险的。

2.查看成员所属组

groups mangues

3.查看所有成员 组信息

cat /etc/group


在/etc/group 中的每条记录分四个字段:
第一字段:用户组名称;
第二字段:用户组密码;
第三字段:GID
第四字段:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名;

2.解决:

1.创建用户组

groupadd prod #创建prod用户组

2.设置用户所属用户组

usermod -aG prod mangues      # add mangues to prod

3.将目录的所属用户组变更为prod

chgrp -R prod  XXX

4.给组内成员权限
所有者:rwx
组内超员:rwx
组外超员:r-x

chmod -R 775 XXX

五、重启SSH

service sshd restart

参考连接:
1、https://zhidao.baidu.com/question/136200289217562245.html
2、https://www.cnblogs.com/ymy124/archive/2012/04/21/2461259.html
3、https://blog.csdn.net/qq_34937383/article/details/77977590
4、https://blog.csdn.net/wangzhaopeng0316/article/details/12991413
5、https://blog.csdn.net/ydyang1126/article/details/77547680
6、https://www.cnblogs.com/whitehorse/p/5847278.html
7、http://blog.163.com/huangbao_007/blog/static/356365352015111122358368/
8、https://blog.csdn.net/skey007/article/details/73565139
9、https://www.cnblogs.com/EasonJim/p/8334122.html
10、https://blog.csdn.net/ML_SDD/article/details/64125259
11、https://www.jianshu.com/p/a4de1538c2cd
12、https://blog.csdn.net/qq_28959531/article/details/78989635

以上是关于ubuntu 创建新用户ssh登录的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu创建新用户并解决ssh登录显示异常

允许用户通过 ssh 访问 EC2 Ubuntu 实例?

ubuntu14.04 ssh允许root用户远程登录

配置Debian11服务器安装SSH,创建新用户并允许远程SSH远程登录,并禁止root用户远程SSH登录

配置Debian11服务器安装SSH,创建新用户并允许远程SSH远程登录,并禁止root用户远程SSH登录

配置Debian11服务器安装SSH,创建新用户并允许远程SSH远程登录,并禁止root用户远程SSH登录