一、openssh的功能
1.sshd服务的用途#
作用: 可以实现通过网络在远程主机中开启安全shell的操作
Secure SHell ===>ssh ##客户端
Secure SHell daemon ===>sshd ##服务端
2.安装包#
openssh-server
3.主配置文件#
/etc/ssh/sshd_conf
4.默认端口#
22
#5.客户端命令#
ssh
二、ssh
1.基本用法
ssh [-l 远程主机用户] <ip|hostname>
ssh -l root 192.168.10.130 ##通过ssh命令在R4主机中以root身份开启远程shell
在远程访问的时候,会首先问到你是否要访问,我们需要回答yes,然后会要求我们输入密码,成功之后就可以成功访问
远程连接过一次之后,在此链接就不会再问是否要继续连接,直接输入密码即可
远程主机推送的key存放在/.ssh/known_hosts下
当远程主机要连接本台机器时会将公钥发送给远程主机,当远程主机再次访问时主机会用私钥去验证远程主机的公钥。
在我们的服务端删除密钥并且重新开启sshd服务后,会重新生成新的密钥,那么我们的客户端再次连接时,会出现以下情况:
远程主机的key和当前主机的key不配对。
这个时候我们在客户端进入这个配置文件,将之前保存下来的密钥删除,再次连接就可以连接。
2.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 192.168.10.131
三、sshd key认证
1.认证类型
1)对称加密
加密和解密是同一串字符
容易泄漏
可暴力破解
容易遗忘
2)非对称加密
加密用公钥,解密用私钥
不会被盗用
攻击者无法通过无密钥方式登陆服务器
2.生成非对称加密密钥
#方法1
#方法2:ssh-keygen -f ~/root/.ssh/id_rsa -P “”
3.对服务器加密
ssh-copy-id -i /root/.ssh/id_rsa.pub username@serverip
四、sshd安全优化参数详解
setenforce 0
systemctl disable --now firewalld
Port 2222 #设定端口为2222
PermitRootLogin yes|no #对超级用户登陆是否禁止
PasswordAuthentication yes|no #是否开启原始密码认证方式
AllowUsers lee #用户白名单
DenyUsers lee #用户黑名单
将端口改为2222之后,我们在远程连接时就要加上端口,不然会有问题出现,如下