Linux中的远程登陆服务

一、实验环境

要求:打开两台虚拟机(可克隆已有的虚拟机)一个定为服务端,另一个为客户端
如果不知道怎么克隆,可以点下面的蓝字,那是一条文章链接
链接- - >如何克隆虚拟机

nm-connection-editor 设定ip地址
ifconfig 查看ip地址
hostnamectl set-hostname 设定主机名称

1.设定两台虚拟机ip地址

在两台虚拟机里分别输入此命令
Linux中的远程登陆服务_第1张图片
双击lyx后,如下 (不知道自己电脑ip地址怎么看,可点下面链接,里面有说明- - - - - > 点这个蓝字–查询本机ip地址)

Linux中的远程登陆服务_第2张图片

Linux中的远程登陆服务_第3张图片

2.修改两台虚拟机主机名

修改好两台虚拟机的ip地址后,现在修改下他们的主机名,以便区分服务端和客户端。

服务端:
Linux中的远程登陆服务_第4张图片
再打开之后就修改成功啦
Linux中的远程登陆服务_第5张图片
客户端:
在这里插入图片描述
再重新打开shell后,主机名就修改成功了
Linux中的远程登陆服务_第6张图片

  • 服务端server
    linux_server.linux.com
    172.25.254.205

  • 客户端client
    lyx_client.lyx.com
    172.25.254.105

注意:在实验过程中一定要保证selinux处于关闭状态,保证系统防火墙关闭 !!

若selinu处于关闭
在这里插入图片描述

如何关闭selinux?

vim /etc/selinux/config
Linux中的远程登陆服务_第7张图片
改完后再输入 reboot 重新启动一下系统,再次打开后selinux就会处于关闭状态

若火墙关闭:
Linux中的远程登陆服务_第8张图片

如何关闭火墙?

systemctl disable --now firewalld

二、为什么要远程登陆?

在一个企业或距离很远的电脑遇到问题需解决时,人们不会专门跑去电脑跟前去运行维护,而是通过网络登陆远程主机来操作。运维工程师不是1v1基本上都是1对多,这就更体现远程登陆的必要性了。

SSH

Secure SHell(安全外壳协议,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。SSH通过在网络中创建安全隧道实现SSH客户端与服务器之间的连接

OpenSSH

OpenSSH 是 SSH 协议的免费开源实现。
提供了服务端后台程序和客户端工具,用来加密远程控制和文件传输过程中的数据,并由此来代替原来的类似服务。

OpenSSH基本服务信息

1. 作用

远程登陆需要通过网络在远程主机中开启shell来进行操作,而且远程主机必须提供给这样的开启shell的方式,以上的需求由OpenSSH服务来提供。远程主机中安装并开启了OpensSSH程序,那么我们就可以通过网络来连接这台主机了。

2.软件包名称

openssh-server

3.服务名称

sshd

4.sshd服务端口

22/tcp

5.客户端

ssh -l 登录用户名 远程主机ip

Linux中的远程登陆服务_第9张图片

6.配置文件

/etc/ssh/sshd_config

三.OpenSSH服务的key认证

对称加密:同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。

非对称加密:需要两个密钥来进行加密和解密,这两个密钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。

1.用户密码认证 (对称加密)

  • 密码容易泄漏
  • 容易忘记

2.密钥认证 (非对称加密)

  • 安全
  • 不会忘记密码

3.建立key认证的方式

1)建立key文件(产生公钥、私钥文件)

Linux中的远程登陆服务_第10张图片

2)上传公钥 (加密远程主机)

ssh-copy-id -i /root/.ssh/id_rsa.pub  [email protected] 
ssh-copy-id 上传密钥命令
-i 指定公钥
/root/.ssh/id_rsa.pub 公钥名称
root 远程主机被加密(上锁)用户
@ 分割符
172.25.254.205 远程主机地址

Linux中的远程登陆服务_第11张图片

3)发送私钥给客户端

scp /root/.ssh/id_rsa [email protected]:/root/.ssh/
scp 远程复制
/root/.ssh/id_rsa 私钥名称
root 接收复制文件用户
@ 分隔符
172.25.254.105 客户端地址
:/root/.ssh/ 复制文件给客户端的指定目录里

Linux中的远程登陆服务_第12张图片

4)测试

客户端有了远程主机的私钥看是否无需输入密码就可登陆)

Linux中的远程登陆服务_第13张图片

四、OpenSSH服务的安全配置

1.端口修改

在服务端:
输入此命令

 vim /etc/ssh/sshd_config

Linux中的远程登陆服务_第14张图片
改完后一定要reload一下,才会生效
Linux中的远程登陆服务_第15张图片
在客户端测试:

Linux中的远程登陆服务_第16张图片

2. 端口绑定

Linux中的远程登陆服务_第17张图片
为了提高安全性,我们设定开启的接口ip地址

在服务端:
写入指定的ip地址
Linux中的远程登陆服务_第18张图片
Linux中的远程登陆服务_第19张图片

测试:

Linux中的远程登陆服务_第20张图片
设定接口开启ip地址后,就只有通过设定的ip地址可以进入服务端了。

3.密码认证的关闭

Linux中的远程登陆服务_第21张图片

vim /etc/ssh/sshd_config

Linux中的远程登陆服务_第22张图片
保存退出后再重启一下此服务,修改禁用密码认证就成功了

systemctl restart sshd.service

测试:
Linux中的远程登陆服务_第23张图片

4. sshd服务的用户控制

(设定用户登录黑白名单)

服务端建立相应实验用户

建立实验素材
Linux中的远程登陆服务_第24张图片
输入以下命令

vim /etc/ssh/sshd_config

在服务端修改黑名单
Linux中的远程登陆服务_第25张图片

systemctl restart sshd.service

在客户端测试:

Linux中的远程登陆服务_第26张图片

在服务端修改白名单
Linux中的远程登陆服务_第27张图片

systemctl restart sshd.service

在客户端测试:
Linux中的远程登陆服务_第28张图片

root用户的访问控制

Linux中的远程登陆服务_第29张图片

在服务端输入以下命令:

vim /etc/ssh/sshd_config

Linux中的远程登陆服务_第30张图片

systemctl restart sshd.service

Linux中的远程登陆服务_第31张图片

五.远程执行命令

ssh -l root172.25.254.205 touch /root/Desktop/file{1…5} 直接执行命令在远程主机中
ssh -l root172.25.254.105 t -o StrictHostKeyChecking=no 在连接主机时不检测HOSTKEY(屏蔽yes、no的输入)
ssh 172.25.254.205 -l root 此方法登陆时不能调用远程主机的图形命令
ssh -X 172.25.254.205 -l root 当前登陆可以调用图形 -X 代表启用x11图形连接

Linux中的远程登陆服务_第32张图片
Linux中的远程登陆服务_第33张图片

六.sshd登陆信息修改

输入以下命令

vim /etc/motd

Linux中的远程登陆服务_第34张图片
在远程登陆时就会显示你上面再文件里编辑的内容
Linux中的远程登陆服务_第35张图片

  • Get

你可能感兴趣的:(笔记)