构建安全的SSH服务体系
过滤openssh文件
[root@centos01 ~]# rpm -qa | grep openssh
挂载光盘删除yum及安装ssh
[root@centos01 ~]# rm -rf /etc/yum.repos.d/CentOS-*
[root@centos01 ~]# yum -y install openssh openssh-server
备份主配置文件
[root@centos01 ~]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
修改ssh的主配置文件
[root@centos01 ~]# vim /etc/ssh/sshd_config
Port 22
ListenAddress 192.168.100.10
LoginGraceTime 2m
PermitRootLogin yes
MaxAuthTries 6
PasswordAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
重启服务
[root@centos01 ~]# systemctl restart sshd
登陆ssh
[root@centos02 ~]# ssh root@192.168.100.10
查看登陆的数量
修改端口
[root@centos01 ~]# vim /etc/ssh/sshd_config
Port 6666
重启ssh客户端查看
[root@centos01 ~]# systemctl restart sshd
[root@centos02 ~]# ssh -p 6666 root@192.168.100.10
限制root账户登陆ssh
修改主配置文件
[root@centos01 ~]# vim /etc/ssh/sshd_config
PermitRootLogin no
重启ssh服务
[root@centos01 ~]# systemctl restart sshd
客户端测试
[root@centos02 ~]# ssh -p6666 root@192.168.100.10
限制用户登陆ssh
创建用户设置密码
[root@centos02 ~]# useradd aaa
[root@centos02 ~]# passwd aaa
修改主配置文件阻止aaa从192.168.100.20访问主机
[root@centos01 ~]# vim /etc/ssh/sshd_config
DenyUsers aaa@192.168.100.20
重启服务
[root@centos01 ~]# systemctl restart sshd
客户机测试
[root@centos02 ~]# ssh -p 6666 aaa@192.168.100.10
Root账户设置密钥对
修改主配置文件开启密钥对
[root@centos01 ~]# vim /etc/ssh/sshd_config
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
重启服务
[root@centos01 ~]# systemctl restart sshd
客户端生成密钥对
[root@centos01 ~]# ssh-keygen -t rsa
查看生成的密钥对
[root@centos02 ~]# cd .ssh
上传客户端的公钥到ssh服务器
[root@centos02 ~]# ssh-copy-id -i ./.ssh/id_rsa.pub root@192.168.100.10
到服务器上查看是否成功
测试,不需要密码直接登陆
aaa用户设置密钥对
客户端切换到aaa用户
[root@centos02 ~]# su aaa
[aaa@centos02 root]$ cd
aaa用户生成密钥对
[aaa@centos02 ~]$ ssh-keygen -t rsa
客户端生成密钥对
[aaa@centos02 ~]$ ssh-keygen -t rsa
上传到aaa的公钥到ssh服务器
[aaa@centos02 ~]$ ssh-copy-id -i /home/aaa/.ssh/id_rsa.pub root@192.168.100.10
Aaa用户直接登陆ssh,不需要密码
Scp远程复制
将远程主机数据复制到本地数据
[root@centos02 ~]# scp root@192.168.100.10:/etc/ssh/sshd_config ./
查看数据
将本地数据上传远程主机目录
[root@centos02 ~]# scp -r ./sshd_config root@192.168.100.10:/opt
查看是否上传成功
Sftp传输shjuju
Sftp登陆到192.168.100.20
[root@centos01 ~]# sftp root@192.168.100.20
查看当前的位置
sftp> pwd
上传数据文件到远程主机
验证文件是否上传成功
下载数据到本地
验证是否下载成功
Tcp wrappers
允许所有客户端访问
[root@centos01 ~]# vim /etc/hosts.allow
sshd:ALL
验证客户端是否可以登录
允许192.168.100.20,其他全拒绝
[root@centos01 ~]# vim /etc/hosts.allow
sshd:192.168.100.20
[root@centos01 ~]# vim /etc/hosts.deny
sshd:ALL
验证
允许192.168.100.0/24网段
[root@centos01 ~]# vim /etc/hosts.allow
sshd:192.168.100.0/255.255.255.0
验证
Hosts.deny
拒绝所有客户端访问
[root@centos01 ~]# vim /etc/hosts.deny
sshd:ALL
验证
拒绝单个IP地址
[root@centos01 ~]# vim /etc/hosts.deny
sshd:192.168.100.20
验证
拒绝一个网段
[root@centos01 ~]# vim /etc/hosts.deny
sshd:192.168.100.0/255.255.255.0
验证