Linux 账户建立和免密登录设置

一.Linux 账户建立

  1. 设好username,rsa变量
1
2
username=test
rsa="ssh-rsa ************"
  1. 建立用户组:
1
/usr/sbin/groupadd $username
  1. 创建用户:
1
/usr/sbin/useradd -g $username $username -s /bin/bash -b /home/$username
  1. 导入rsa
1
2
3
4
mkdir -pm 700 /home/$username/.ssh
chmod 700 -R /home/$username
echo $rsa > /home/$username/.ssh/authorized_keys
chmod 600 /home/$username/.ssh/authorized_keys
  1. 赋予权限
1
2
chown $username:$username -R /home/$username

  1. ssh禁止root登录

    1
    2
    3
    vi /etc/ssh/sshd_config
    PermitRootLogin no
    service sshd restart
  2. sudo权限

1
2
3
4
5
6
7
8
9
10
11
12
13
//第一步 找到sudoers文件whereis sudoers
//第二步 获取修改权限
chmod 777 /etc/sudoers
//第三步 打开文件并编辑
vim /etc/sudoers
//找到root ALL=(ALL) ALL一行 在下面添加新增的用户按照root的格式
username ALL=(ALL) NOPASSWD: ALL
//保存退出
:wq
//第四步 修改权限为只读
chmod 444 /etc/sudoers
//最后一步 刷新权限
systemctl restart sshd

或是命令visudo修改。

二 .ssh copy rsa的另一种方法

  1. 使用ssh-keygen在本机上生成密钥:
    1
    ssh-keygen -t rsa -C "[email protected]"
  2. 使用ssh-copy-id命令将本机上的公钥文件拷贝到服务器上
    1
    ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

若服务器端远程登录ssh的端口号被更改了(比如为3330),则命令应改为这样:

1
ssh-copy-id -i ~/.ssh/id_rsa.pub “-p 3330 [email protected]

三. 限制IP访问

如果是想禁用某个IP的是否能够连接与否,则要使用/etc/host.allow/etc/host.deny两个文件,deny文件是阻止IP文件,allow是允许文件。规则是先匹配deny,而后匹配allow,因此,allow中的文件会覆盖deny中的文件规则:

/etc/host.deny 文件中我们禁止所有的IP连接
sshd:ALL 所有IP都被禁止SSH到本机

/etc/host.allow文件中我们允许指定的IP连接
sshd:192.168.128.183:allow

两个文件的规则最终变成:
仅允许192.168.128.183连接到本机.
修改后,文件立即生效,对于当前已经运行的程序不生效,为了防止出现不必要的麻烦,建议还是先修改host.allow,而后再修改host.deny文件,这样能保证host.allow中的IP能够访问sshd进程.