Ubuntu服务器用户添加及权限分配

1)在远程linux主机上:添加,编辑用户和组(需root用户权限)

% useradd -m -g users  #添加新用户并在/home下创建用户目录
% passwd   #为新用户设置密码
% id   #显示用户的id和所在分组信息
% groupadd admin  #添加admin组
% gpasswd -a  admin  #把用户添加到admin组内

此时 admin组的用户可以使用sudo命令,但是需要输入密码。
2)使admin组的用户使用sudo命令,不需要输入密码

% visudo

visudo命令 : 编辑/etc/sudoers文件

将admin组改成 %admin ALL=(ALL) NOPASSWD: ALL

这里写图片描述

% service ssh restart  #重启ssh

此时 admin组的用户使用sudo命令,不需要输入密码了.
3) 创建ssh-key

% su    #切换到新用户
% ssh-keygen -C "@"  #创建当前用户的ssh_key(会在用户目录下创建.ssh文件夹,文件夹下有公钥和私钥)

4)在本地利用ssh连接远程主机

打开bash工具,在本地创建ssh_key:

% ssh-keygen -C "@" (会在C:\Users\Administrator目录下创建.ssh文件夹,文件夹下有公钥和私钥)

连接到远程linux主机(需要输入密码)

% ssh @ 

若不想重复输入 用户名和IP,可在C:\Users\Administrator.ssh文件夹中创建config文件(无扩展名)
在config文件中添加类似如下内容

Host  
HostName  
Port  22
User  

此时在bush中可通过 ssh 连接远程远程linux主机(需要输入密码)
5)免密连接远程ubuntu服务器

把本地用户的id_rsa.pub(~/.ssh/id_rsa.pub) 上传到服务器某个用户的authorized_keys(~/.ssh/authorized_keys):

% ssh-copy-id @   或者 
% ssh-copy-id  

注:同一用户只能上传一次
这里写图片描述
此时再通过ssh登陆远程服务器就不需要输入密码了。
6)禁止用户通过ssh使用密码登陆远程登陆服务器,且禁止root登录

修改sshd_config 文件(/etc/ssh/sshd_config)

PermitRootLogin no    #禁止root登陆
PasswordAuthentication no   # 禁止使用密码登录

添加:

AllowGroups #允许groupname组登陆

重启ssh服务

% service ssh restart #重启ssh

你可能感兴趣的:(linux)