当前位置: 首页> 娱乐> 八卦 > 上海远东建筑设计院_企业为什么做网站_下载优化大师app_惠州seo排名公司

上海远东建筑设计院_企业为什么做网站_下载优化大师app_惠州seo排名公司

时间:2025/7/10 18:13:16来源:https://blog.csdn.net/qq_39725309/article/details/144355703 浏览次数:0次
上海远东建筑设计院_企业为什么做网站_下载优化大师app_惠州seo排名公司

什么是协议? 顾名思义,是双方通信时定下的一种规则,需要通信双方同时遵守才有效果。

协议有很多种,不同的协议对应适用于不同的开发场景。例如,

  • 网络协议:TCP/IP协议、UDP协议、HTTP协议、FTP协议、Telnet协议、SMTP协议、NFS协议等。
  • 硬件协议:USART、UART、RS232、RS485/RS422、I2C、SPI、ADC、CAN、ModBus等。

这里介绍ssh协议和外部终端(连接Ubuntu):

ssh协议

SSH 协议: SSH(Secure Shell) 是一种用于在不安全网络中进行安全通信的协议,主要用于远程登录和命令执行。SSH 提供了强大的加密机制,能够确保通信的机密性、完整性和身份认证。SSH 协议是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。 利用SSH 协议可以有效防止远程管理过程中的信息泄露问题。 SSH 建立在可靠的传输协议TCP 之上。

其主要用途:

  • 远程登录:通过 SSH 连接到远程服务器,执行命令或管理系统。
  • 数据传输:使用 scpsftp 等工具通过 SSH 传输文件。
  • 隧道转发:SSH 支持端口转发,用于加密其他协议的流量(如 HTTP、数据库连接等)。
  • 配置管理:通过 SSH 批量管理远程主机。
    简单点说,外部设备通信协议:允许某个设备 远程通过网络访问另外一个设备。
SSH 协议的工作原理

SSH 协议基于 客户端-服务器模型,主要步骤为如下几个步骤:

  1. 建立连接
    客户端(如 ssh 命令)向服务器(运行 sshd 服务)发起连接。
    默认端口为 22,但也可以通过配置文件更改。
    SSH 协议默认端口
  2. 身份认证
    SSH 提供以下几种身份认证方式:
  • 密码认证
    • 客户端输入用户密码进行验证(默认方式)。
  • 密钥认证
    • 使用公钥-私钥对进行认证:
      • 客户端持有私钥,服务器保存公钥。
      • 客户端通过私钥签名,服务器验证签名是否匹配公钥。
    • 优点:更安全,支持无密码登录。
    • 示例:生成密钥
ssh-keygen -t rsa
ssh-copy-id user@remote_host
  • 基于证书的认证
    • 使用证书机构(CA)签发的证书进行认证。
  • 双因子认证
    • 除密码或密钥外,还需支持 TOTP(如 Google Authenticator)。
  1. 数据加密
    SSH 使用对称加密(如 AESChaCha20)加密通信内容。
    会话密钥通过非对称加密(如 RSAECDSA)安全交换。
  2. 数据完整性校验
    SSH 使用消息认证码 (MAC) 确保通信数据未被篡改。
SSH协议的主要组件

1. 客户端工具
SSH 协议需要客户端工具来发起连接,常见的工具包括:

  • OpenSSH:Linux 和 macOS 默认的 SSH 客户端。
  • PuTTY:Windows 上广泛使用的 SSH 客户端。
  • MobaXterm:集成了 SSH、SFTP 等功能的终端工具。

2. SSH 服务端

  • 远程主机需要运行 SSH 服务端程序(如 OpenSSHsshd)。
  • 服务端负责监听 SSH 连接请求,进行认证和数据处理。

3. 配置文件

  • 客户端配置文件~/.ssh/config
    • 用于配置常用的 SSH 连接参数。
    • 代码/配置文件:
Host remote_serverHostName 192.168.1.100User rootPort 2222IdentityFile ~/.ssh/id_rsa
  • 服务端配置文件/etc/ssh/sshd_config
    • 用于配置 SSH 服务端的行为(如认证方式、端口、加密算法)。
    • 代码/配置文件:
Port 22
PermitRootLogin no
PasswordAuthentication yes
PubkeyAuthentication yes

外部终端与 SSH 的关系

外部终端是 SSH 的重要组成部分,用于提供用户与远程系统的交互界面。以下是外部终端的相关内容:

  1. 什么是外部终端?
    • 外部终端是指运行在用户设备上的终端工具,可以通过 SSH 协议连接到远程主机。
    • 它们支持发送命令到远程系统,并接收并显示返回的结果。
  2. 一些常见外部终端工具
  • Linux/macOS 终端
    • 默认提供 ssh 命令。代码:
ssh user@remote_host
  • PuTTY
    • Windows 上的轻量级 SSH 客户端工具。
    • 支持 SSH、Telnet、串口等多种协议。
  • MobaXterm
    • 高级终端工具,支持多标签、SFTP 文件管理。
    • 集成了 X11 转发功能,方便图形界面程序的远程操作。
  • Termius
    • 跨平台的 SSH 客户端,支持密钥管理和组管理。
  • VS Code Remote - SSH 插件
    • 可通过 SSH 连接远程主机,并直接编辑远程文件。
  1. 外部终端的功能
    • 命令行交互:允许用户直接输入远程主机的命令。
    • 文件传输:部分外部终端(如 MobaXterm、VS Code)支持内置文件管理。
    • 多会话支持:支持同时管理多个 SSH 会话。
    • 端口转发:支持 SSH 隧道,以便访问远程主机的服务。

SSH 和外部终端的实际应用

  1. 远程登录:最常见的用途是远程登录到服务器进行管理或开发。
ssh user@remote_host
  1. 文件传输:使用外部工具通过 SSH 进行文件传输:
  • scp(安全复制)
scp local_file user@remote_host:/path/to/remote_dir
  • sftp(SSH 文件传输协议)
sftp user@remote_host
put local_file
get remote_file
  1. SSH 隧道(端口转发):SSH 支持端口转发功能,用于加密其他协议的流量。
  • 本地端口转发
    将本地端口流量转发到远程主机。
    代码
ssh -L 8000:localhost:80 user@remote_host

访问 http://localhost:8000 实际连接到远程主机的 80 端口。

  • 远程端口转发
    将远程主机的端口流量转发到本地。
    代码
ssh -R 9000:localhost:22 user@remote_host

远程主机的 9000 端口 会连接到本地的 22 端口。

  1. 自动化管理:通过外部终端和 SSH 配合,可以实现批量任务执行。
    代码:使用 sshbash 脚本批量执行命令:
for host in server1 server2 server3; dossh user@$host "uptime"
done
  1. 图形界面应用支持(X11 转发):SSH 支持 X11 转发,可以远程运行图形界面程序。
    代码
ssh -X user@remote_host
firefox

示例使用ssh协议和外部终端 PuTTY 的操作过程:

  1. 安装ssh协议:
sudo apt-get update   //更新 
sudo apt-get install ssh //安装ssh 
  1. 开启ssh协议:
sudo /etc/init.d/ssh start   //-->开启ssh  
sudo /etc/init.d/ssh restart //-->重启ssh协议
  1. 关机指令:
#在命令行键入以下命令,系统立即关机 :
sudo shutdown -h now 
#在命令行键入以下命令,系统立即重新启动 : 
sudo shutdown -r now 
sudo reboot now

使用外部链接软件(外部终端) putty,Xshell(这里使用putty),在我的资源中上传了一份 putty.exe 文件,需要的朋友自取即可:(操作之前,记得先打开ssh协议再连接!!否则会提示连接失败)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用ssh协议的安全性注意事项

禁用密码登录,启用密钥认证
禁用密码登录,使用公钥认证提高安全性(代码配置):

PasswordAuthentication no
PubkeyAuthentication yes

关闭 SSH 的 root 登录
禁止直接使用 root 登录:

PermitRootLogin no

使用非默认端口
修改默认端口号(如从 22 改为其他端口)以减少扫描攻击:

Port 2222

配置防火墙限制
使用防火墙(如 UFW 或 iptables)限制 SSH 访问的来源 IP。

定期更新 OpenSSH
确保 SSH 软件保持最新版本,修复已知漏洞。

SSH协议 是一种安全、灵活的通信协议,广泛用于远程登录、文件传输和隧道转发等场景。外部终端 是 SSH 的重要交互工具,可以为用户提供远程系统的命令行或图形界面访问。在 实际应用 中,SSH 和外部终端结合,可实现远程管理、自动化任务、数据传输等功能。不过,在使用过程中也需要注意,在使用 SSH 时,务必关注 安全性配置,以防止未经授权的访问。

以上。仅供学习与分享交流,请勿用于商业用途!转载需提前说明。

我是一个十分热爱技术的程序员,希望这篇文章能够对您有帮助,也希望认识更多热爱程序开发的小伙伴。
感谢!

关键字:上海远东建筑设计院_企业为什么做网站_下载优化大师app_惠州seo排名公司

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: