为什么要设置秘药连接
传统的ssh连接方式要输入用户名和密码连接,对于管理来说非常不方便,因此设置秘钥认证可以免密码登录并连接。
ssh参数优化相关
/etc/ssh/ssh_config 客户端配置文件
/etc/ssh/sshd_config 服务端文件
port 22 端口
ListenAddress 0.0.0.0 -------- 监听地址信息,只能监听本地网卡上的地址,其他主机只能连接这个网卡
PermitEmptyPasswords no ----- 是否允许空密码连接
PermitRootLogin yes -- 是否允许root登录
GSSAPIAuthentication no -- 是否允许GSS验证
UseDNS -- 是否允许反向DNS解析
ssh配置流程
客户端配置
1. ssh-keygen -t dsa --- 一直yes即可。不需要对秘钥进行加密
2. 检查公钥和私钥是否生成, 默认位置:
/root/.ssh/id_dsa 客户端私钥文件
/root/.ssh/id_dsa.pub 客户端公钥文件
3. 分发公钥到服务端用于验证服务登录
ssh-copy-id -i /root/.ssh/id_dsa.pub root@192.168.106.41
4. 检查服务端公钥文件是否存在
~/.ssh/authorized_keys 分发后服务端位置
5. 测试连接状况
ssh 192.168.106.41 'pwd'
安全相关
- 重要文件做指纹验证:
- 不允许外网ip,限制内网访问,只监听内网ip
- 防火墙对外网做安全策略:
- 对重要文件加锁:chattr +i /usr/bin/ssh限制修改。
- 修改ssh端口,限制root用户登陆