Linux中的ssh服务安全优化
1、设置**认证
在被访问端:
命令 | 功能 |
---|---|
ssh-****** | 创建一个默认名称和地址的**,**生成是随机的 |
ls /root/.ssh/ | 查看生成的私钥id_rsa和公钥id_rsa.pub |
ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected] | 将**与登录该ip对应起来 |
ls /root/.ssh/ | 若文件中出现authorized_keys,则表示对应成功 |
scp /root/.ssh/id_rsa [email protected]:/root/.ssh/ | 将私钥发给想要使用**认证方式登录公钥所在ip的ip |
修改配置文件:
命令 | 功能 |
---|---|
vim /etc/ssh/sshd_config | 修改配置文件 |
PasswordAuthentication no | 将可否用原始密码验证方式登录改为不允许 |
systemctl restart sshd.service | 重启服务,读取修改过的配置文件,使修改生效 |
在访问端:
命令 | 功能 |
---|---|
ls /root/.ssh/ | 查看目录下是否接收到私钥 |
systemctl stop firewalld | 若没有接收到私钥,可能是防火墙没有关闭,可关闭后再次接收 |
2、修改接口
命令 | 功能 |
---|---|
netstat -antulp | grep 22 |
vim /etc/ssh/sshd_config | 修改配置文件,找到Port,修改Port 22为Port 23将接口改为23 |
systemctl restart sshd.service | 重启服务,读取修改过的配置文件,使修改生效 |
setenforce 0 | 将防火墙关闭 |
netstat -antulp | grep shhd |
3、修改vim /etc/ssh/sshd_config所需命令
命令 | 功能 |
---|---|
port 22 | 开启22端口 |
ListenAddress ip | 只监听该IP的ssh请求,不监听该设备其他接口的ssh请求 |
PermitRootLogin yes/no | 是否允许超级用户登录 |
PasswordAuthentication yes/no | 是否开启原始密码登陆功能 |
PubkeyAuthentication yes/no | 是否开启**登陆功能 |
AllowUsers Username | 白名单,意为只有Username可以登陆 |
DenyUsers Username | 黑名单,意为只有Username不可以登陆 |