我的SSH安全设定

分享一下自己的SSH安全设定(本文基于Ubuntu 18.04 64bit). 大概方面有3个: 1, 建立普通用户zhang3, 并授予sudo权限; 2, 禁止root登陆; 3, 禁用密码登陆, 使用pub key登陆.

1, 建立普通用户zhang3, 并授予相关权限
平时主要使用zhang3用户来登陆, 因此需要客户端的pub key交给zhang3, 让zhang3做好免密码登陆相关设定.
[code]
$ useradd -m -s /bin/bash zhang3
$ passwd zhang3

$ su – zhang3

# 假定我们已经把客户端的id_rsa.pub放入到zhang3的home目录下
$ mkdir ~/.ssh && \
$ cat id_rsa.pub >> ~/.ssh/authorized_keys && \
$ chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys

# 授予zhang3用户sudo权限, 注意这里的 %zhang3 其实是指的zhang3的group, 而非zhang3的user.
$ echo ‘%zhang3 ALL=(ALL) NOPASSWD: ALL’ /etc/sudoers.d/zhang3
[/code]

2, 设定SSH相关权限
[code]
$ sudo vim /etc/ssh/sshd_config #修改如下内容

PermitRootLogin no #禁止root远程登陆

PubkeyAuthentication yes #启用pubkey登陆

PasswordAuthentication no #禁用密码登陆
#PermitEmptyPasswords no #禁止空密码, 视情况启用

# 也可以最后再确认一下
$ cat /etc/ssh/sshd_config | egrep ‘(PermitRootLogin|Pubkey|Password)’ | grep -v ^#
PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no
[/code]
有些老版本的sshd_config里面可能会有一项”RSAAuthentication”, 该项也表示启用pub key登陆, 但这是第1代ssh通讯协议使用的配置项, 该选项在CentOS 7及ubuntu 16.04版本以上均已弃用(如果强行加上此选项会收到一个”Deprecated option RSAAuthentication”的提示), 也可以在sshd_config里添加一项”Protocol 2″来表示使用第几代通讯协议.

我的SSH安全设定》上有2条评论

发表评论

电子邮件地址不会被公开。