Linux中的远程登陆服务

一、实验环境

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

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

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

在两台虚拟机里分别输入此命令
在这里插入图片描述
双击lyx后,如下 (不知道自己电脑ip地址怎么看,可点下面链接,里面有说明- - - - - > 点这个蓝字–查询本机ip地址

在这里插入图片描述

在这里插入图片描述

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

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

服务端:
在这里插入图片描述
再打开之后就修改成功啦
在这里插入图片描述
客户端:
在这里插入图片描述
再重新打开shell后,主机名就修改成功了
在这里插入图片描述

  • 服务端server
    linux_server.linux.com
    172.25.254.205

  • 客户端client
    lyx_client.lyx.com
    172.25.254.105

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

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

如何关闭selinux?

[root@linux_server Desktop]# vim /etc/selinux/config
在这里插入图片描述
改完后再输入 reboot 重新启动一下系统,再次打开后selinux就会处于关闭状态

若火墙关闭:
在这里插入图片描述

如何关闭火墙?

root@linux_server Desktop]# systemctl disable --now firewalld root@linux_server Desktop]# systemctl restart firewalld.service
restart是重新启动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

在这里插入图片描述

6.配置文件

/etc/ssh/sshd_config

三.OpenSSH服务的key认证

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

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

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

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

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

  • 安全
  • 不会忘记密码

3.建立key认证的方式

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

在这里插入图片描述

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 远程主机地址

在这里插入图片描述

4)发送私钥给客户端

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

在这里插入图片描述

5)测试

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

四、OpenSSH服务的安全配置

1.端口修改

在服务端:
输入此命令

[root@linux_server Desktop] #vim /etc/ssh/sshd_config

在这里插入图片描述
改完后一定要reload的一下,才会生效
在这里插入图片描述
在客户端测试:

在这里插入图片描述

2. 端口绑定

在这里插入图片描述
为了提高安全性,我们设定开启的接口ip地址

在服务端:
写入指定的ip地址
在这里插入图片描述
在这里插入图片描述

测试:

在这里插入图片描述
设定接口开启ip地址后,就只有通过设定的ip地址可以进入服务端了。

3.密码认证的关闭

在这里插入图片描述

【root@linux_server Desktop】# vim /etc/ssh/sshd_config

在这里插入图片描述
保存退出后再重启一下此服务,修改禁用密码认证就成功了

[root@linux_server Desktop]# systemctl restart sshd.service

测试:
在这里插入图片描述

4. sshd服务的用户控制

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

服务端建立相应实验用户

建立实验素材
在这里插入图片描述
输入以下命令

[root@linux_server Desktop]# vim /etc/ssh/sshd_config

在服务端修改黑名单
在这里插入图片描述

systemctl restart sshd.service

在客户端测试:

在这里插入图片描述

在服务端修改白名单
在这里插入图片描述

systemctl restart sshd.service

在客户端测试:
在这里插入图片描述

root用户的访问控制

在这里插入图片描述

在服务端输入以下命令:

[root@linux_server Desktop]#vim /etc/ssh/sshd_config

在这里插入图片描述

systemctl restart sshd.service

在这里插入图片描述

五.远程执行命令

ssh 172.25.254.20 -l root 此方法登陆时不能调用远程主机的图形命令

ssh -X 172.25.254.20 -l root ##当前登陆可以调用图形 -X 代表启用x11图形连接

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的输入)

在这里插入图片描述
在这里插入图片描述

六.sshd登陆信息修改

输入以下命令

vim /etc/motd

在这里插入图片描述
在远程登陆时就会显示你上面再文件里编辑的内容
在这里插入图片描述

  • Get

猜你喜欢

转载自blog.csdn.net/qq_49286390/article/details/107524350