复习之linux中的远程登陆服务

本文介绍了如何配置虚拟机环境,包括重置主机名、设置IP地址、删除SSH目录,并详细讲解了SSH服务的作用、安装、配置文件、默认端口。接着讨论了SSH命令的常用参数,如连接、警告处理以及后台运行。文章还涉及SSH的密钥认证过程,以及如何通过修改sshd_config文件进行安全优化,包括关闭密码认证、设置自定义端口和黑白名单管理。
摘要由CSDN通过智能技术生成

一、实验环境配置

本次实验需要两台新的虚拟机,因此我们reset虚拟机aa 和 bb

  • 修改虚拟机的主机名
  • 配置基础ip网络
  • 删除/root/.ssh/目录------恢复原始状态

1. 重置虚拟机aa,bb

#  westos-vmctl   reset   aa

2. 修改虚拟机的主机名

# hostnamectl set-hostname bbbbbb.westos.org  (bb虚拟机)

# hostnamectl  set-hostname  aaaaaaaa.westos.org(aa虚拟机)

 

 3. 配置ip

aa虚拟机:172.25.254.100

bb虚拟机:172.25.254.200

 

设置完ip记得reload+up !!

4. 删除/root/.ssh/目录

在虚拟机aa,bb上删除/root/.ssh/目录,方便做实验!

# rm   -fr   /root/.ssh/

 配置成功后,将虚拟机转换为无图形界面!ps:init  5 可换为有图形界面!

#  init  3

5. 真机ssh虚拟机

在真机上远程连接虚拟机aa,bb

 二、sshd服务的基本信息

1.作用

ssh通过网络远程连接主机!

client ----客户端,执行ssh操作的主机

server-----服务端,被连接的主机端

2. 安装包

# dnf search ssh :查找ssh的安装包:openssh-server.x86_64

 系统默认安装并开启sshd服务

 3.主配置文件

# rpm -qc openssh-server.x86_64   :  /etc/ssh/sshd_config

4. 默认端口

# netstat -antupe | grep ssh :查看ssh服务的默认端口 :默认为22端口

 三、ssh命令的常用参数

将aa虚拟机作为服务端,bb虚拟机作为客户端进行实验。

1. 第一次ssh连接

# ssh -l root 172.25.254.100:第一次ssh连接会出现认证!

 认证成功后即使不登陆,也会有密匙出现!

在客户端进入/root/.ssh/目录即可看到密匙。

 接着进入服务端的目录/etc/ssh/ 也可查看密钥,该密钥与上完全一致,否则无法连接!!

 2. ssh连接出现warning警告

当ssh 连接出现warning警告时,原因是密钥不匹配!

解决方法:按照提示删除文件的指定行即可!

 --------------------------------------------------------------实验------------------------------------------

服务端aa 删除 rm -fr ssh_host_* 文件!注意不要直接删除*

删除后重新启动sshd服务,密钥就会更改!

 此时密钥与客户端bb的不一致,在客户端bb上连接aa时,会出现!!

 解决方法很简单,按照提示,删除文件的第一行即可!删除后再次连接,就像第一次连接一样。

3. 其他常用参数

  • -l  :指定登陆用户
  • -X :开启图形
  • -f :后台运行
  • -o :指定连接参数  ----【StrictHostKeyChecking=no ,首次连接不需要输入yes】
  • -t :指定连接跳板

--------------------------------------------------实验-------------------------------------------------

默认情况下,ssh为文本连接,无法打开图形

 # ssh -X   -l  root 172.25.254.200  :-X -l顺序不能反,成功打开图形

但是打开图形,占用了终端,因此可以利用-f  后台运行!

# ssh -X  -f  -l   root 172.25.254.200   gedit : 将gedit打入后台运行

 清空bb虚拟机的/root/.ssh文件,再次连接aa就是第一次连接,需要输入yes!

# ssh    -o  "StrictHostKeyChecking=no"   -l       root 172.25.254.100 : 首次连接不需要输入yes

 # ssh  -l  root   172.25.254.73   -t   ssh   -l   root   172.25.254.100 : 通过73主机连接100主机

 在aa虚拟机:100上查看,其实是73连接的100

 四、为服务器添加key认证

以上ssh认证方式是用户密码登陆,还有一张认证方式是key认证!

1. 生成加密密钥

(1)交互式方法

在客户端bb虚拟机生加密密钥

#   ssh-keygen : 生成非对称加密密钥,一直回车即可!

 (2)非交互式方法

首先删除/root/.ssh/id_*,重新生成密钥!

# ssh-keygen   -f    /root/.ssh/id_rsa    -P   "" :-f 指定文件,-P:密码为空 ,直接用钥匙开门,不用额外输入密码!

2. 对服务器进行加密

在客户端bb上对服务器aa进行加密

# ssh-copy-id    -i    /root/.ssh/id_rsa.pub    root@172.25.254.100 : 对服务器进行加密!

此时进入服务器aa查看:/root/.ssh/目录发现生成了authorized_keys文件,该文件与客户端的/root/.ssh/id_rsa.pub文件一样!!

 3. 客户端测试

# ssh   -i   /root/.ssh/id_rsa   -l     root    172.25.254.100 :ssh连接用户,不用密码直接连接

 其他主机ssh连接服务端仍然要密码登陆,因为没有私钥!

五、sshd安全优化参数

sshd优化参数在服务端主配置文件:/etc/ssh/sshd_config  进行设置!

  • PasswordAuthentication yes|no :是否开启密码认证方式
  • Port 2222 :设定端口为2222
  • AllowUsers /  DenyUsers lee:黑白名单设置

-------------------------------------------------实验--------------------------------------------------------

1. 是否开启密码认证

默认情况下,密码认证自动开启!当真机ssh连接aa时,可以使用密码认证或者key认证。

在服务端aa虚拟机,查询主配置文件:

 進入該文件,關閉密碼認證方式!!

systemctl restart sshd :关闭后重启服务

 在真机再次测试,发现无法通过密码认证方式连接aa

 2. 设定端口

开始本次实验前,先关闭selinux和火墙!

# setenforce 0 :关闭selinux服务

# systemctl disable --now firewalld:关闭火墙

修改端口为2222,修改成功后重启服务。

此时真机连接aa,显示连接失败!

#   ssh   -l   root   172.25.254.100   -p   2222:加上端口号成功!

3. 黑名单/白名单设置

服务器设置黑名单!!

添加一行:DenyUsers root

ps:多个用户用空格间隔开!!

 真机测试连接,root用户无法连接,westos用户可以连接!

服务器设置白名单!!

添加一行:AllowUsers root

 在真机测试连接,只有root用户可以连接!!

ps:做完实验,恢复默认配置!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值