前言
本章主要对linux系统中远程登陆服务进行学习,主要内容包括Openssh的功能、ssh、sshd key认证以及sshd安全优化详解等内容。相比较前几章,本章的内容虽然不多,但却更偏向于企业实战化。
一、Openssh
Secure Shell ====>ssh #客户端
Secure Shell daemon ====> #服务端
sshd服务的作用:可以实现通过网络在远程主机中开启安全shell的操作。(稍后会演示)
主配置文件:/etc/ssh/sshd_conf
安装包:openssh-server
默认端口:22
客户端命令:ssh
二、ssh
实验环境配置:
首先,我们需要两台虚拟机
分别配置两台虚拟机的ip,nm-connection-editor打开窗口,选择加号
虚拟机a如图配置:配置完成后,ifconfig查看ip
虚拟机b配置方法同上,将ip设为172.25.254.239。
修改主机名(防止混乱)
hostnamectl set-hostname 新主机名
重新打开shell
我们固定将wesotsa为服务端,westsob为客户端。调整客户端背景与字体颜色,方便区分。
此时,实验环境算是配置好了。
1.基本用法
ssh [-l 远程主机用户] <ip|hostname>
ssh -l root 172.25.254.139 通过远程主机命令在139主机上以root身份开启远程shell
输入yes
创建一个文件,测试远程登陆是否成功
远程登陆成功。
当我们输入yes的时候,139服务端会向当前主机239客户端发送身份公钥,并保存此公钥到~/.ssh/know_hosts。
修改其身份验证信息,移除服务端~/etc/ssh/ssh_host*
systemctl restart sshd 身份验证改变 注:每改完一次配置文件,一定要及的重启服务才能生效!
客户端重新连接,出现warning
这时,只需要按照提示将指定文件/root/.ssh/known_hosts 的报错行删除掉,再重新登陆。
注:删除时只需删掉报错行,不一定是第一行。
ssh 常用参数
-l #ssh -l root 172.25.254.109 指定用户登陆 文本连接 想要开启图形可在进入后输入 cheese。
但有时会报错,所以通过下面一条直接开启图形。
ssh -X 开启图形 #ssh -Xl root 172.25.254.109
注:X与l位置不能反。
ssh -f 后台运行
ssh -o #ssh -l root 172.25.254.109 -o “StrictHost…=no” 首次连接不需要输入yes
ssh -l root 172.25.254.39 -t -l root 172.25.254.139 跳板连接 通过39连接139
分别输入39主机的密码和139主机的号码进入139主机中,跳板连接成功。
三、sshd key认证
1.认证类型
对称加密:加密和解密是同一串字符;容易泄漏;可暴力破解;容易遗忘(一个指纹对应一个字符文件)。
非对称加密:加密用公钥(锁),解密用私钥(钥匙);不会被盗用;攻击者无法通过无密钥方式登陆服务器。
2.生成非对称加密密钥并对服务器加密
ssh-keygen #生成非对称加密密钥
测试:
清除之前的存在的密钥:rm -fr ~/.ssh/id_rsa*
生成非对称加密密钥,生成文件位于~/.ssh/id_rsa。-P “”设置密钥密码为空(已经有锁和钥匙了,不需要密码)。
ssh-copy-id -i ~/.ssh/id_rsa.pub root@172.25.254.139 将公钥放在指定服务端主机下的指定用户里面
scp ~/.ssh.id_rsa 172.25.254.209:/root/.ssh/id_rsa #将私钥传给指定客户端主机下的指定用户
客户端登陆验证
直接登陆,无需密码。
可是有的客户还是可以通过密码验证进入,下面我们关掉密码验证方式。
关闭原始认证方式:
vim /etc/ssh/sshd_config 73行 将yes改为no,重启文件配置。
通过客户端登陆,
westos用户在没有密钥的情况下,也没有权限输入密码进入。
四、sshd 安全优化参数详解
sentenforce 0
systemctl stop firewalld 关闭防火墙;这两步的配置为后续实验作准备。
/etc/ssh/sshd_config sshd配置文件所在地
注:改完配置记得重启服务systemctl restart sshd !!
- Port 2222 #设定端口为2222
vim /etc/ssh/sshd_config 修改Port为2222
按照之前登陆,访问被拒绝。
ssh -l root 172.25.254 -p 2222 指定端口登陆。
注:做完实验记得修改回port。
对超级用户登陆进行禁止和同意 PermitRootLogin yes|no
PasswordAuthentication yes|no 是否开启原始密码人认证方式
非对称加密密钥配置中已演示。
AllowUsers白名单:只有allow的人才可进入 ,其余用户包括超级用户均不可以进入。
DenyUsers黑名单:不能进的用户
总结
本章主要学习了linux远程登陆服务,配置ip,了解了ssh的应用,sshd key认证,非对称加密密钥的创建与配置。