当前位置: 首页 > article >正文

Linux进阶——远程连接服务器

一、远程连接服务器简介

(1)什么是远程连接服务器

远程连接服务器就是通过文字或者图接口方式来远程登陆系统,在远程终端前登陆linux主机,取得可操作主机接口,而登陆后的操作感觉就像坐在系统前面一样。

(2)远程连接服务器的功能

分享主机的运算能力

(3)远程连接服务器的类型(以登陆的连接界面来分类)

文字接口:

        明文传输:Telnet、RSH等,目前用的非常少

        加密传输:SSH为主,已经取代明文传输

图形接口:XDMCP、VNC、XRDP等

(4)文字接口连接服务器

SSH(secure shell protocol,安全的壳程序协议)它可以通过数据包加密技术将等待传输的数据包加密后在传输到网络上。ssh协议本身提供两个服务器功能:一个是类似telnet的远程连接使用shell的服务器;另一个就是类似于ftp服务的sftp-server,提供更加安全的ftp服务。

二、连接加密技术简介

目前常用的网络数据包加密技术通过“非对称密钥系统”来处理的,主要是通过把不一样的公钥与私钥来进行加密和解密的过程。

对称和非对称密钥结合:先用非对称密钥系统传输双方的对称密钥,后续就能使用对称密钥系统

公钥:提供给远程主机进行数据加密的行为,所有人都可以获得你的公钥来数据加密

私钥:远程主机使用公钥进行加密数据,在本地端就能使用私钥进行解密,私钥只有自己拥有。

SSH工作过程:在整个通讯过程中,为实现SSH的安全连接,服务器与客户机经历五个阶段:

过程说明
版本号协商SSH目前包括SSH1和SSH2两个版本,双方通过版本协商确定使用的版本
密钥和算法协商SSH支持多种加密算法,双方根据本端和对端支持的算法,协商出最终使用的算法
认证阶段SSH客户端向服务器端发起认证请求,服务器端对客户端进行认证
会话请求认证通过后,客户端向服务器发送会话请求
交互会话会话请求通过后,服务器和客户端进行信息的交互

三、SSH配置设置

客户端配置文件地址        /etc/ssh/ssh_config和/etc/ssh/ssh_config.d

服务端配置文件地址        /etc/ssh/sshd_config和/etc/ssh/sshd_config.d

四、防火墙与selinux

防火墙会阻止外部设备访问未开放的端口,关闭防火墙systemctl stop firewalld。

selinux安全强化版的Linux,有两个状态:enforcing管理程序使用哪些端口和文件。

                                                                   permissive提示程序你正在用哪些端口和文件。

setenforce        1#设置状态为enforcing

setenforce        0#设置状态为permissive

getenforce        #查看状态信息

五、用户登陆ssh服务器

实例1:修改ssh服务的端口号

#修改ssh服务的端口号

vim        /etc/ssh/sshd_config        #修改配置信息

在文件中修改端口号        port        2222        

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

setenforce        0        #设置selinux状态        

getenforce        #查看状态信息

结果为        permissive

systemctl        restart        sshd        #重启ssh服务

实例2:拒绝root用户远程登陆

#保持服务器上至少有一个可以远程登陆的普通远程账号

#修改配置信息(对于红帽来说修改的是/etc/ssh/sshd_config.d/01-permitrootlogin.conf中的内容)

PermitRootLogin        no        #不允许root登陆

重启服务查看是否生效:使用时普通用户进行登陆,余姚使用root用户时在切换

使用xshell测试登陆:

root用户登陆不成功,而普通用户登陆成功

实例3:允许特定用户进行登陆:

useradd        test01        #新建用户

passwd        test01        #设置密码

vim        /etc/ssh/sshd_config        #修改配置文件

在文件中写入:Allowusers        bzy                #允许bzy用户登陆其他用户不被允许

使用xshell测试,发现bzy成功登入,其余包括root用户都无法登入。

实例4:Linux客户端通过密钥登陆Linux服务器root用户

①使用客户端192.168.68.130去连接服务端192.168.68.99

#操作客户端

ssh-keygen        #创建密钥对

/root/.ssh/id_rsa        #私钥文件

/root/.ssh/id_rsa.pub        #公钥文件

ssh-copy-id        root@192.168.68.99        #复制公钥文件到服务端的该目录下面/root/.ssh/authorized_keys

ssh        root@192.168.68.99        #在本地服务器上登陆对端服务器(无需密码)

②xshell中使用密钥登陆:

1、建立公私钥

2、复制公钥内容

3、粘贴到/root/.ssh/authorized_keys中

4、验证登陆是否成功


http://www.kler.cn/a/535906.html

相关文章:

  • 【玩转全栈】--创建一个自己的vue项目
  • 三维粒子滤波(Particle Filter)MATLAB例程,估计三维空间中匀速运动目标的位置(x, y, z),提供下载链接
  • 本地化部署 AI 的第一步,认识和使用 ollama
  • UG NX二次开发(Python)-API函数介绍与应用实例(三)-UFLayer类操作
  • PyTorch快速入门
  • 树莓派卷积神经网络实战车牌检测与识别
  • salesforce SF CLI 数据运维经验分享
  • 2025模仿游戏 别人怎么做就什么做 做的过程中再加入自己的元素 模仿与创新
  • 深度学习中模型训练的过拟合与欠拟合问题
  • 计算机毕业设计Python+大模型疲劳驾驶检测系统 自动驾驶 面部多信息特征融合的疲劳驾驶检测系统 驾驶员疲劳驾驶风险检测 深度学习 机器学习 大数据
  • innoDB 如何解决幻读
  • 动手学图神经网络(10):利用 PyTorch Geometric 进行图分类
  • 设计模式-状态模式:让对象的行为随状态改变而清晰可控
  • 设计模式1:工厂模式
  • 软件模拟I2C案例(寄存器实现)
  • 基于微信小程序的在线点餐(堂食)平台的设计与实现ssm+论文源码调试讲解
  • .net8.0使用EF连接sqlite数据库及使用Gridify实现查询的简易实现
  • Python“鉴黄”小程序,自动识别检测物体的颜色
  • 【数据结构】(5) ArrayList 顺序表
  • 确保数据一致性:RabbitMQ 消息传递中的丢失与重复问题详解
  • 如何查看:Buildroot所使用Linux的版本号、gcc交叉编译工具所使用的Linux的版本号、开发板上运行的Linux系统的版本号
  • 使用外骨骼灵活远程控制协作机器人案例
  • 如何利用Java爬虫获取商品销量详情实战指南
  • Spring Boot 自动装配机制深度解析
  • VUE之组件通信(二)
  • Git 分支管理策略与实践