1.ssh的功能
1.sshd服务的用途:可以实现通过网络在远程主机中开启安全shell的操作
- secure shell ==>ssh 客户端
- Secure SHell daemon ==>sshd 服务端
2.安装包
openssh-server
3.主配置文件
/etc/ssh/sshd_conf
4.默认端口
22
5.客户端命令
ssh
2.ssh
基本用法
ssh [-l 远程主机用户] <ip|hostname>
ssh -l root 172.25.254.200: #通过ssh命令在200主机中以root身份开启远程shell
当收入后
200主机会向当前主机发送身份公钥,并保存此公钥到~/.ssh/know_hosts
200主机持有私钥当客户主机再次连接时会对客户主机进行身份验证
如果身份验证改变拒绝连接效果如下
当连接因为认证问题被拒绝时:
-
vim ~/.ssh/know_hosts 在此文件中删除报错提示相应的行即可ssh常用参数
-
l: #指定登陆用户
-
i: #指定私钥
-
X: #开启图形
-
f: #后台运行
-
o: #指定连接参数(ssh -l root@172.25.254.x -o “StrictHostKeyChecking=no” 首次连接不许要输入yes)
-
t: #指定连接跳板 (ssh -l root 172.25.254.1 -t ssh -l root 172.25.254.105)
3.sshd key认证
1.认证类型:
1.对称加密:加密和解密是同一串字符
- 容易泄漏
- 可暴力破解
- 容易遗忘
2.非对称加密:加密用公钥,解密用私钥
- 不会被盗用
- 攻击者无法通过无密钥方式登陆服务器
2.生成非对称加密密钥
1.输入ssh-keygen一直回车
2.ssh-keygen -f /root/.ssh/id_rsa -P “”
3.对服务器加密
ssh-copy-id -i /root/.ssh/id_rsa.pub username@serverip
ssh-copy-id -i /root/.ssh/id_rsa.pub lee@172.25.254.105
4.sshd 安全优化参数详解
关闭防火墙:
- setenforce 0
- systemctl disable --now firewalld
vim /etc/ssh/sshd_config
- Port 2222: #设定端口为2222
- PermitRootLogin yes|no : #对超级用户登陆是否禁
- PasswordAuthentication yes|no: #是否开启原始密码认证方式
- AllowUsers lee: # #用户白名单
- DenyUsers lee: #用户黑名单