Linux网络服务之SSH

news2024/9/22 19:30:25

SSH

  • 一、SSH概述
    • 1.1 定义
    • 1.2 SSH的优点
    • 1.3 OpenSSH
      • 1.3.1 定义
      • 1.3.2 SSH服务器-----sshd
  • 二、SSH原理
  • 三、SSH登录方式
    • 3.1 方式一
    • 3.2 方式二
    • 3.3 方式三:跳板连接
      • 3.3.1 跳板连接概述
      • 3.3.2 具体配置
    • 3.4 方式四:远程控制
  • 四、服务端配置
    • 4.1 系统安全架构-----修改ssh默认端口号
  • 五、免密码登录
    • 1)在客户端生成密钥文件
    • 2)将公钥复制到SSH服务器上
    • 3)通过SSH连接尝试登录到服务器

一、SSH概述

1.1 定义

SSH(Secure Shell)协议是一种用于远程登录和安全传输文件的网络协议。
使用SSH协议,用户可以远程登录到远程主机并执行命令,或者通过安全的文件传输协议在本地计算机和远程主机之间传输文件。

SSH客户端<--------------网络---------------->SSH服务端

1.2 SSH的优点

  1. 安全性: 数据传输是加密的,可以防止信息泄漏

  2. 身份验证:防止未经授权的用户访问远程系统。

  3. 远程管理:可通过SSH协议登录远程服务器并执行命令,无需直接物理访问设备。

  4. 端口转发:SSH支持 端口转发功能,可以安全地传输其他协议和应用程序。

  5. 传输速度: 数据传输是压缩的,可以提高传输速度

SSH具有强大的安全性、身份验证和远程管理功能,使得它成为远程访问和管理计算机系统的首选协议

1.3 OpenSSH

1.3.1 定义

OpenSSH是通过SSH协议实现的一套用于远程登录和文件传输的工具,包括SSH客户端(SSH)和SSH服务器(sshd)
Centos 7系统默认已安装openssh相关软件包,并将sshd 服务添加为开机自启动。

1.3.2 SSH服务器-----sshd

#重要内容#
##名称##
服务名称:sshd

##主程序##
服务端主程序:/usr/sbin/sshd  

##配置文件##
服务端配置文件:/etc/ssh/sshd_config 
#设置与服务端相关的应用可通过服务器端配置文件实现
客户端配置文件:/etc/ssh/ssh_config
#设置与客户端相关的应用可通过客户端配置文件实现
sshd 服务默认使用的是TCP22端口,安全协议版本sshv2,出来2之外还有1(有漏洞)
ftp  服务默认使用的是TCP20 21
#sshd在使用ECDSA算法时生成的公钥文件
ssh_host_ecdsa_key.pub

#ecdsa  代表加密算法    
#pub    代表公钥

二、SSH原理

在这里插入图片描述

   +-------------------+                    +-------------------+
   |      客户端       |                    |      服务端       |
   +-------------------+                    +-------------------+
               |                                        |
               |             生成密钥对                 |
               |-------------------------------------->|
               |             交换公钥                   |
               |<--------------------------------------|
               |                                        |
               |             加密数据                   |
               |-------------------------------------->|
               |                                        |
               |                                        |
               |             解密数据                   |
               |<--------------------------------------|
               |                                        |
  1. 客户端向服务端发起连接请求;
  2. 服务端收到请求后,将会话id和服务端的公钥交给客户端;
  3. 客户端接收后,将会话id和客户端的公钥进行异或运算得到回复信息Res(Res=会话id^客户端公钥);
  4. 客户端再将Res用服务端的公钥加密,得到密文U(U=Res+服务端的公钥id),并将密文U交给服务端;
  5. 服务端用服务端私钥将密文U解密,得到回复信息Res;
  6. 服务端将Res和会话id进行异或运算,得到客户端的公钥
  7. 双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都会被加密

三、SSH登录方式

3.1 方式一

ssh [远程主机用户名]@[远程服务器主机名或IP地址] -p port

#用户为root时可不写主机名
#不加-p 选项 默认使用22端口
-p  指定登录端口(当服务端的端口非默认时,需要使用-p 指定端口进行登录)                                      
ssh 192.168.2.102

在这里插入图片描述

3.2 方式二

ssh -l [远程主机用户名] [远程服务器主机名或IP 地址] -p port
-l 选项,指定登录名称

3.3 方式三:跳板连接

3.3.1 跳板连接概述

跳板连接用于在不直接暴露目标主机的情况下进行安全访问
通过跳板连接,用户可以首先连接到中间设备,然后再通过中间设备连接到目标主机。
中间设备不一定是跳板机,只需要安装ssh服务就可以

应用场景

  1. 远程服务器管理:跳板连接常用于管理和控制远程服务器。通过跳板机,可以安全地登录和执行命令,而无需直接暴露目标服务器的访问端口。

  2. 内部网络隔离:跳板连接可用于将外部网络和内部网络隔离,提供一个安全的访问通道,外部用户必须通过身份验证和授权才能访问内部网络资源。

  3. 多层级安全访问:通过跳板机,可以从一个层级跳转到另一个层级,确保访问的安全性和可管理性。

  4. SSH端口转发:跳板连接还可以用于SSH端口转发,提供访问内部受限资源的能力。

3.3.2 具体配置

#本机地址为192.168.2.74
iptables -A INPUT -s 192.168.2.100 -j REJECT #拒绝来自此IP的所有访问

在这里插入图片描述

#方式一#
ssh -t IP1  ssh -t IP2.... ssh -t 目标IP
# IP1和IP2为跳板机的IP地址,先跳转到IP1,再跳转到IP2
#两次跳转成功后,才能远程连接到目标设备

#举例#
ssh -t 192.168.2.102 ssh -t 192.168.2.103 ssh -t 192.168.2.74 
#跳转两次,从当前设备远程连接IP地址为192.168.2.74的主机或者服务器

在这里插入图片描述

#方式二
ssh -J IP1,IP2...  目标IP
#IP1 IP2为中间设备的IP地址

#举例
ssh -J 192.168.2.102,192.168.2.103 192.168.2.74

在这里插入图片描述

3.4 方式四:远程控制

ssh 目标设备的IP地址 命令
#远程控制目标主机使用命令 并将命令执行结果返回本机


#主机B的IP地址为192.168.2.102 
[root@A ~] ssh 192.168.2.102 ls #查看主机B家目录下有哪些目录或文件 

在这里插入图片描述

四、服务端配置

通过修改服务端配置文件/etc/ssh/sshd_config 来实现不同的功能。

vim  /etc/ssh/sshd_config #编辑配置文件

4.1 系统安全架构-----修改ssh默认端口号

vim  /etc/ssh/sshd_config #编辑配置文件
...
Port 233 #修改端口号
...
#当前设备和目标设备的端口号都要修改

systemctl restart sshd #重启服务使生效

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

#修改后 远程连接需要加 -p选项
ssh 192.168.2.102 -p 9527

在这里插入图片描述

五、免密码登录

原理

使用公钥加密技术
在SSH免密登录过程中,客户端和服务器之间通过密钥对进行身份验证,而不是使用传统的密码验证方式。
SSH会自动使用密钥对进行验证,而无需输入密码。

思路

主机A为客户端 IP地址为192.168.2.100
主机B为服务端 IP地址为191.168.2.102

在这里插入图片描述
使主机A通过ssh远程连接主机B不需要密码

1)在客户端生成密钥文件

ssh-keygen   #生成密钥文件 

-t #指定加密方式 
#不加此选项,默认使用rsa方式
...
Enter file in which to save the key(/root/.ssh/id_rsa): 直接回车
#选择密钥文件存放的位置                 (默认路径)
Enter passphrase (empty for no passphrase): 
#对密钥文件进行加密,设置密码后,访问文件需要输入密码
#一般不输入密码 直接回车
Enter same passphrase again: 

在这里插入图片描述

最后会生成两个文件 
cd /root/.ssh
ls 

.pub为密钥文件

在这里插入图片描述

2)将公钥复制到SSH服务器上

ssh-copy-id -i 公钥文件  [用户名]@IP地址 
#将密钥文件传过去
#下次就可以免密登录
#以root用户登录时 可省略
ssh-copy-id -i id_rsa.pub 192.168.2.102
#复制公钥文件

在这里插入图片描述

3)通过SSH连接尝试登录到服务器

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/855392.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

企业内部wiki,让知识不再流于表面,让企业管理更加高效

企业内部wiki是一种基于wiki技术的内部知识管理平台&#xff0c;通常由企业自行搭建和维护&#xff0c;用于收集和整理企业内部的知识、经验和流程等信息。它可以帮助企业实现知识共享、协作和沟通&#xff0c;提高工作效率和团队协作能力。企业内部wiki还可以作为企业文化建设…

Python Pandas 使用示例

文章目录 使用Boolean 选择rows读取Excel表格里指定的sheet, 并跳过起始n行删除只有一个元素的行删除重复的合并多个csv文件到excel表格中获取csv文件的数据 使用Boolean 选择rows import pandas as pd# Sample DataFrame data {Name: [John, Alice, Bob, Emily],Age: [25, 3…

Segment Anything(SAM) 计算过程

给定输入图像 I ∈ R 3 H W I \in R^{3 \times H \times W} I∈R3HW。给定需要的prompts&#xff1a; M ∈ R 1 H W M \in R^{1 \times H \times W} M∈R1HW&#xff0c;代表图片的前背景信息。 P ∈ R N 2 P \in R^{N \times 2} P∈RN2&#xff0c;其中 N N N 是点的个数…

SpringBoot 底层机制分析【Tomcat 启动+Spring 容器初始化+Tomcat 如何关联Spring 容器】【下】

&#x1f600;前言 本篇博文是关于SpringBoot 底层机制分析实现&#xff0c;希望能够帮助你更好的了解SpringBoot &#x1f60a; &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以帮助到大…

多年软件测试面试经验,给正在面试工作的一些建议

工作8年多&#xff0c;测试管理经验4年左右&#xff0c;电话面试现场面试了很多测试工程师候选人员&#xff0c;总结下面试过程中我经常会问到的问题和梳理下我的面试流程&#xff0c;希望对候选人员有所帮助。 1.自我介绍 自我介绍其实并不是我想了解除了简历之外的候选人的…

【王树森】深度强化学习(DRL)课程笔记:P2 价值学习

Value-Based RL 试图找出能预测最优action的Q*函数 Deep Q Network(DQN) Temporal Difference(TD) Learning Example 如果在只到半路DC能不能更新模型&#xff1f; TD在这种情况下也可以学习的原因 TD learning for DQN 使用TD Learning 训练 DQN Summary

oracle sql developer批量删除某个用户

随着navicate收费&#xff0c;还得破解&#xff0c;pl/sql developer配置麻烦&#xff0c;最近使用oracle sql developer来试试oracle的操作如何&#xff1b; 用着还行&#xff0c;没有卡顿现象&#xff0c; 最近要oracle sql developer批量删除某个用户下所有的表&#xff0…

springboot中消失的静态资源

springboot中消失的静态资源 问题&#xff1a;springboot项目中&#xff0c;resource/static 目录下的index.html以及template目录下 。实现WebMvcConfigurer这个接口&#xff0c;index.html就404了。 原因&#xff1a;实现了 WebMvcConfigurer 接口后&#xff0c;index.html …

网络安全的相关知识点

网络安全威胁类型&#xff1a; 1.窃听&#xff1a;广播式网络系统。 2.假冒 3.重放&#xff1a;重复一份报文或者报文的一部分&#xff0c;以便产生一个被授权的效果。 4.流量分析 5.数据完整性破坏 6.拒绝服务 7.资源的非授权使用 8.陷门和特洛伊木马&#xff1a;木马病毒有客…

Kali中AWD靶机环境搭建

Kali中AWD靶机环境搭建 1、kali安装docker2、克隆项目&#xff08;400多M&#xff0c;下载会有点久&#xff09;3、进入项目4、下载镜像5、改镜像名6、比赛环境搭建6.1 启动靶机6.2 连接裁判机&#xff0c;启动check脚本6.3 关闭环境命令 7、 靶机访问方式7.1 web界面访问7.2 s…

AMD 翻身无望,RX7000多款主流新卡出炉逗乐NVIDIA

看了今年 NVIDIA RTX 40 系中端主流级显卡&#xff0c;让咱明白了什么叫毫无诚意。 4060 核心规模不及 4090 的 19%、4060Ti 打不过 3070&#xff0c;可真是小刀划屁股开了眼。 奈何 AMD 这代 RX 7000 系显卡着实给不上压力。 旗舰 RX 7900 XTX、7900 XT 完全不敌 RTX 4090、…

go get报错

这里写目录标题 执行 go install github.com/mitchellh/goxlatest提示下面错误&#xff0c;我浏览器直接访问时能访问了&#xff0c;这个下面的提示是golang代理问题 go install: github.com/mitchellh/goxlatest: module github.com/mitchellh/gox: Get “https://proxy.golan…

职场演讲口才培训的影响研究:演讲训练项目的效果探究

题目&#xff1a;职场演讲口才培训的影响研究&#xff1a;演讲训练项目的效果探究 I. 引言 A. 话题背景和意义 在现代职场中&#xff0c;良好的演讲口才已经成为一个不可或缺的技能。随着全球化和信息技术的迅速发展&#xff0c;职场中的沟通方式和需求也发生了巨大变化。无论…

多门店小程序怎么弄

连锁多门店小程序是一种基于微信平台的应用&#xff0c;旨在为连锁企业提供线上线下一体化的服务。以下是该小程序的功能介绍&#xff1a; 1. 门店查找&#xff1a;用户可以通过小程序查找附近的连锁门店&#xff0c;根据地理位置、距离等条件进行筛选&#xff0c;并查看每个门…

MFC创建和使用OCX控件

文章目录 MFC建立OCX控件注册OCX控件与反注册使用Internet Explorer测试ocx控件OCX控件添加方法OCX控件添加事件Web使用OCX控件MFC使用OCX控件使用OCX控件调用ocx的功能函数对ocx的事件响应OCX控件调试工具tstcon32.exe加载ocx控件使用tstcon32.exe调试ocxMFC建立OCX控件 新建…

镜像网站汇总【8月9日更新】

今日最新整理&#xff1a;还是最基本原则&#xff1a; 不用注册&#xff0c; 不用登录&#xff0c; 不用魔法&#xff0c; 不用梯子&#xff0c; 必须是上来就用的镜像&#xff01; 第一个&#xff1a;可用网址汇总 网址&#xff1a;https://c.aalib.net/tool/chatgpt/ …

【原创】基于JavaWeb的婚礼策划平台

主要功能介绍&#xff1a;系统基于Java语言开发。整个程序属于B/S架构应用。在开发的时候&#xff0c;将婚礼策划中主要的业务如&#xff1a;婚纱摄影预约以及婚纱租赁等作为主要的目标和研究方向。婚礼策划平台系统从整体结构设计上&#xff0c;由网站前台和系统后台组成。网站…

江苏省发布雨水排放环境管理办法,这些重点值得关注!

近日&#xff0c;江苏省深入打好污染防治攻坚战指挥部办公室正式印发了《江苏省重点行业工业企业雨水排放环境管理办法&#xff08;试行&#xff09;》&#xff0c;已于2023年5月15日正式施行。 本办法所称重点行业工业企业&#xff0c;是指化工、电镀原料药制造、冶炼、印染行…

方法区——元空间概述

方法区 不同版本具体实现 标准层面&#xff1a;方法区&#xff08;Method Area&#xff09;具体实现层面&#xff1a; ≤JDK1.6 永久代JDK1.7 永久代仍然存在&#xff0c;但是已经开始提出&#xff1a;去永久代≥JDK1.8元空间&#xff08;Meta Space&#xff09; 永久代概念辨…

【torch.nn.Fold】和【torch.nn.Unfold】

文章目录 torch.nn.Unfold直观理解官方文档 toch.nn.Fold直观理解官方文档 torch.nn.Unfold 直观理解 torhc.nn.Unfold的功能&#xff1a; 从一个batch的样本中&#xff0c;提取出滑动的局部区域块patch&#xff08;也就是卷积操作中的提取kernel filter对应的滑动窗口&#…