Linux Ubuntu服务器用户权限及安全登陆限制
1)在远程linux主机上:添加,编辑用户和组(需root用户权限)% useradd -m -g users <username> #添加新用户并在/home下创建用户目录% passwd <username>#为新用户设置密码% id <username>#显示用户的id和所在分组信息% groupadd admin#添加admin组% gpasswd -a <usernam
·
1)在远程linux主机上:添加,编辑用户和组(需root用户权限)
% useradd -m -g users <username> #添加新用户并在/home下创建用户目录
% passwd <username> #为新用户设置密码
% id <username> #显示用户的id和所在分组信息
% groupadd admin #添加admin组
% gpasswd -a <username> 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 <username> #切换到新用户
% ssh-keygen -C "<youremail>@<example>" #创建当前用户的ssh_key(会在用户目录下创建.ssh文件夹,文件夹下有公钥和私钥)
4)在本地利用ssh连接远程主机
打开bash工具,在本地创建ssh_key:
% ssh-keygen -C "<youremail>@<example>" (会在C:\Users\Administrator目录下创建.ssh文件夹,文件夹下有公钥和私钥)
连接到远程linux主机(需要输入密码)
% ssh <username>@<ip>
若不想重复输入 用户名和IP,可在C:\Users\Administrator.ssh文件夹中创建config文件(无扩展名)
在config文件中添加类似如下内容
Host <nickname>
HostName <ip>
Port 22
User <username>
此时在bush中可通过 ssh <nickname>
连接远程远程linux主机(需要输入密码)
5)免密连接远程ubuntu服务器
把本地用户的id_rsa.pub(~/.ssh/id_rsa.pub) 上传到服务器某个用户的authorized_keys(~/.ssh/authorized_keys):
% ssh-copy-id <username>@<ip> 或者
% ssh-copy-id <nichname>
注:同一用户只能上传一次
此时再通过ssh登陆远程服务器就不需要输入密码了。
6)禁止用户通过ssh使用密码登陆远程登陆服务器,且禁止root登录
修改sshd_config 文件(/etc/ssh/sshd_config)
PermitRootLogin no #禁止root登陆
PasswordAuthentication no # 禁止使用密码登录
添加:
AllowGroups <groupname> #允许groupname组登陆
重启ssh服务
% service ssh restart #重启ssh
此时已禁止用户通过ssh登陆root,并禁止使用密码登陆。
更多推荐
已为社区贡献1条内容
所有评论(0)