目录
一.ssh原理
-
客户端发起链接请求
-
服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)
-
客户端生成密钥对
-
客户端用自己的公钥异或会话ID,计算出一个值Res,并用服务端的公钥加密
-
客户端发送加密值到服务端,服务端用私钥解密,得到Res
-
服务端用解密后的值Res异或会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥)
-
最终:双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都会被加密
二. ssh登录
格式:ssh [远程主机用户名]@[远程服务器主机名或IP地址] -p port(端口号)
ssh +ip地址默认登录root用户
例子:
本机地址 192.168.2.100
ssh 192.168.2.101
指定用户登录
ssh -l weiyang1 192.168.2.101
或
ssh weiyang1@192.168.2.101
默认端口号通常不安全我们通常需要换端口号以达成安全的目的
打开ssh服务端(就是你要连的人)配置文件
vim /etc/ssh/sshd_config
回到192.168.2.100测试连接
2.1 ssh免密登录
如果我们常用服务器需要经常登录输入密码很麻烦可以通过把密钥传给对面来达到免密登录的目的
首先客户端生成密钥文件
ssh-keygen -t dsa
进入密钥文件夹
cd /root/.ssh
将钥匙传给服务端
ssh-copy-id -i id_dsa.pub root@192.168.2.101
2.2 ssh黑名单/白名单
- SSH黑名单的作用: 黑名单是用来阻止特定IP地址或IP地址段的访问。当系统管理员发现某些IP地址在尝试恶意或不正常的登录行为时,可以将这些IP地址加入到SSH黑名单中。这将阻止黑名单中的IP地址访问SSH服务,从而降低被恶意入侵的风险。
- SSH白名单的作用: 白名单是用来允许特定的IP地址或IP地址段访问SSH服务,其他所有IP地址则被拒绝。这可以提高系统的安全性,限制只有特定信任的IP地址可以连接到服务器,其他所有来源的连接请求都将被拒绝。
综合使用黑名单和白名单可以有效地加强SSH服务的安全性,减少暴力破解、恶意访问和其他入侵行为对服务器的影响。然而,管理员还应该采取其他安全措施,如使用安全的SSH配置、强密码策略、限制Root登录等,以确保服务器安全性的全面保障。
添加黑白名单
编写ssh服务端配置文件
vim /etc/ssh/sshd_config
在下面加上
白名单:AllowUsers [用户名]
黑名单:DenyUsers [用户名]
黑名单同理,拒绝登录这个用户
2.3 脚本免密登录同网段所有用户
编写脚本
192.168.2.101 用户 登录192.168.2.100 需要密码
此网段所有用户都可以免密登录彼此