1.sshd服务介绍
- 在服务端安装openssh服务
/etc/ssh/sshd_conf # sshd服务的配置文件
- 端口22
- 本服务启动后自动生成密钥存储文件
2.ssh参数
2.1.远程登陆
#常用参数
-l #指定登陆用户
-i #指定私钥
-X #开启图形
-f #后台运行
-o #指定连接参数
-t #指定连接跳板
ssh user@remote #user是远程主机用户名,remote是远程主机ip
2.2.后台运行图像化界面
ssh -Xfl root 1.1.1.222 gedit
2.2.指定跳板
ssh -l root 172.25.254.1 -t ssh -l root 172.25.254.105 #第一个ip为跳板,第二为真实访问主机
3.sshd key认证
3.1 非对称加密rsa
加密用公钥,解密用私钥
不会被盗用
攻击者无法通过无密钥方式登陆服务器
3.2 ssh-keygen(生成密钥)
1.交互式生成密钥
ssh-keygen
2.非交互式生成密钥
ssh-keygen -f /root/.ssh/id_rsa -P ""
3.3 免密认证
- 将本机的公钥传到远程服务器中
ssh-copy-id -i /root/.ssh/id_rsa.pub root@1.1.1.222
- 服务器接收到公钥
- 本机可以免密登录服务器
4.sshd 安全优化参数详解
4.1 环境设定
setenforce 0
systemctl disable --now firewalld
4.2 /etc/ssh/sshd_conf配置文件的修改
Port 2222 #设定端口为2222
PermitRootLogin yes|no #对超级用户登陆是否禁止
PasswordAuthentication yes|no #是否开启原始密码认证方式
AllowUsers westos #用户白名单
DenyUsers westos #用户黑名单
-
Port 2222
#设定端口为2222
-
PermitRootLogin yes|no
#对超级用户登陆是否禁止
-
PasswordAuthentication yes|no
#是否开启原始密码认证方式
-
AllowUsers lee
#用户白名单,只能该用户登录 -
DenyUsers lee
#用户黑名单