linux登录相关

常见需求:

1.禁止root账户远程登录;

2.修改ssh默认端口22为2222,以提高安全性;

3.授权某个普通用户可以使用sudo su切换至root账户,且不需要输入密码;

4.仅允许IP为192.168.16.16的主机通过ssh登录;

5.登录时使用密钥认证机制远程登录Linux。

实现方法:

1.禁止root账户远程登录

[root@localhost ~]# vim /etc/ssh/sshd_config
PermitRootLogin no  #加入一行保存
[root@localhost ~]# service sshd restart

2.修改ssh默认端口22为2222,以提高安全性

[root@localhost ~]# vim /etc/ssh/sshd_config
port 2222  #修改端口
[root@localhost ~]# service sshd restart

3.授权某个普通用户可以使用sudo su切换至root账户,且不需要输入密码

[root@localhost ~]# visudo
#visudo中加入下面的语句
User_Alias UUU = wangchengjun,%wangchengjun
Cmnd_Alias CCC = /bin/su
UUU ALL=(root) NOPASSWD:CCC

[wangchengjun@localhost ~]$ sudo su -  #普通用户
[root@localhost ~]#    #成功切换至root用户

4.仅允许IP为192.168.16.16的主机通过ssh登录

方法一:通过hosts.deny和hosts.allow设定,仅允许192.168.16.16主机通过

[root@wangchengjun ~]# vim /etc/hosts.deny
sshd:all:deny
[root@wangchengjun ~]# vim /etc/hosts.allow
sshd:192.168.16.16:allow
[root@wangchengjun ~]# service sshd restart

方法二:通过iptables设定,先关闭所有端口,仅允许192.168.16.16主机通过2222端口远程登录ssh。对所有主机开放其他必要的端口。可以通过脚本一步实现。

#!/bin/bash
iptables -F
iptables -P INPUT DROP
iptables -A INPUT -s 192.168.16.16 -p tcp --dport 2222 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT

5.登录时使用密钥认证机制远程登录Linux

以Xshell为例:

1.菜单命令:工具―>新建用户密钥生成向导

2.密钥类型:RSA

3.设置密钥名称、密码之类的信息

4.复制公钥,保存私钥

5.在用户的家目录下面创建目录:~/.ssh

  更改权限:chmod 700 ~/.ssh

6.vim ~/.ssh/authorized_keys 将公钥粘贴到里面然后保存

7.使用密钥登录


你可能感兴趣的:(root,SSHD,sudo,su)