前言
一、Openssh功能
1.Linux中远程登录服务名称:sshd.service 2.sshd服务的用途 可以实现通过网络在远程主机中开启安全shell的操作。 Secure Shell==== 客户端 Secure Shell daemon====服务端 3.安装包 openssh-server 服务端 openssh-clients 客户端 4. 主配置文件: /etc/ssh/sshd_config 服务端 /etc/ssh/ssh_config 客户端 5.默认端口:22 6.客户端命令:ssh
二、ssh
1.ssh 用法格式:ssh -参数 远程主机用户 ip/hostname 举例如下:
ssh -l root 172.25.254.172 ####通过ssh命令在IP为172.25.254.72这台主机以root身份登录
2.作用: 首次用ssh登录服务端时会生成身份证明确认过程,当输入《yes》后,172这台主机会向当前主机发送身份公钥,并保存公钥到~/.ssh/know_hosts,172主机持有私钥,当客户主机再次连接时会对客户主机进行身份验证。
当删除服务器生成的密钥文件时,需重启sshd服务,服务器会生成新的密钥文件,此时身份验证改变,客户端登录时服务器会拒绝连接。
当连接认证被拒绝后,使用命令vim ~/.ssh/know_hosts删除报错提示内容的行即可。 3.ssh常用参数
三、sshd key认证
1.认证类型 (a)对称加密:加密和解密是同一串字符 缺点:容易泄漏、可暴力破解、容易遗忘。 (b)非对称加密:加密用公钥,解密用私钥 优点:不会被盗用,攻击者无法通过无密钥方式登陆服务器。 2.生成非对称加密密钥 (a) 方法1:交互式生成
ssh-keygen
密钥保存文件路径—默认不做更改 密钥密码—密钥+密码=繁琐,此处先不设置 确认密钥密码 /root/.ssh/id_rsa=私钥 /root/.ssh/id_rsa.pub=公钥
(b) 方法2:非交互式生成
ssh-keygen -f /root/.ssh/id_rsa -P "" ##-f指定密钥保存路径;-P为密钥的密码,此处为空
3.对服务器加密 即为把公钥同步给服务器端。
ssh-copy-id -i /root/.ssh/id_rsa.pub username@serverIP
ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.72
设置完毕之后,指定用户连接服务器不再需要密码。
四、sshd 安全优化参数详解
sshd服务器进行优化的目的是为了限制未拥有key认证用户的登陆使用。通过对sshd服务的配置文件 /etc/ssh/sshd_config 内容进行更改以达到安全优化目的。 1.在进行sshd安全优化参数设置前,首先要执行以下内容:
setenforce 0 关闭内核加强级防火墙
systemctl disable --now firewalld 关闭系统防火墙
2.sshd服务的配置文件 /etc/ssh/sshd_config 内容更改: 原始密码认证yes改为no之后没有key认证的主机无法通过password认证方式连接sshd服务器。
3.更改端口后指定端口连接:22
ssh -l root 172.25.254.72 -p 2222
4.允许连接服务器端指定用户设定==用户白名单。
5.禁止连接服务器端指定用户的设定==用户黑名单。
|