【网络协议】远程登录安全连接协议SSH(Secure Shell)

打印 上一主题 下一主题

主题 876|帖子 876|积分 2628

什么是SSH协议?

SSH(Secure Shell)协议是一种用于在不安全网络上提供安全远程登录、下令执行和数据传输的加密网络协议,通过公钥加密和身份验证技术确保通信的安全性和隐私性。

SSH(Secure Shell)最初由Tatu Ylönen在1995年开发,如今已经发展成为一种广泛利用的标准工具,尤其是在Unix和Linux系统中。
因为telnet的明文传输特性,很多网络装备的登录方式也由telnet改为SSH登录。
以下是对SSH协议的详细先容:
SSH为何是安全的?

SSH主要通过加密技术和身份验证机制来确保通信的安全性。它利用公钥加密技术举行用户认证和会话密钥的交换,这使得数据在传输过程中即使被截获也无法被解密。别的,SSH还提供了数据完整性查抄和重放攻击防护等功能。
SSH由哪些组件构成?

SSH协议由以下几个主要组件构成:


  • SSH客户端:运行在当地计算机上,用于发起SSH连接哀求。
  • SSH服务器:运行在远程计算机上,监听SSH连接哀求并举行响应。
  • SSH协议:界说了客户端和服务器之间的通信规则和数据格式。

SSH可以帮助实现的功能

SSH协议提供了多种功能,包罗:


  • 远程登录:允许用户通过下令行界面安全地访问和控制远程计算机。
  • 文件传输:支持安全的文件上传和下载,通常通过内置的SFTP(SSH File Transfer Protocol)或SCP(Secure Copy)协议实现。
  • 端口转发:可以将远程计算机上的网络端口转发到当地计算机或反之,从而实现安全的网络隧道和代理服务。
  • X11转发:允许在SSH连接中安全地转发X Window System图形界面。
SSH的工作原理

SSH的工作过程主要包罗以下几个步骤:


  • 握手阶段:客户端和服务器之间建立一个安全的连接,并协商加密算法和会话密钥。
  • 身份验证阶段:客户端向服务器提供身份证明,通常利用暗码、公钥或其他身份验证方法。
  • 会话阶段:一旦身份验证成功,客户端和服务器之间就可以通过加密的通道举行交互,包罗执行下令、传输文件等操纵。

SSH的历史版本

SSH协议已经经历了多个版本的发展:


  • SSH-1:最初的SSH版本,如今已被以为存在安全漏洞,不再保举利用。
  • SSH-2:当前广泛利用的版本,提供了更强的安全性和更多的功能。在启用SSH的时间,最好指定一下SSH-2的版本。
常用的SSH工具有哪些

常见的SSH工具包罗:


  • OpenSSH(开源的SSH实现,包含ssh、scp、sftp等下令),Windows 10及以后,也有基于Windows 的openSSH:Windows也能安装OpenSSH远程加密连接工具
  • PuTTY(Windows平台的SSH客户端)下载链接
  • SecureCRT(也支持ssh方式登录)正版要收费
  • SSH Secure Shell Client(商业SSH客户端)等
总的来说,SSH是一个强盛的安全工具,为管理员和用户提供了一种安全、可靠的方式来访问和管理远程系统,以及在不安全的网络环境中传输数据。由于其强盛的安全特性和广泛的兼容性,SSH已经成为运维工程师的必备工具之一。
SSH配置案例参考

Windows 安装SSH

OpenSSH 已添加至 Windows系统,在Windows系统中也可以安装和利用Windows自带的OpenSSH工具。通过Windows 设置来安装 OpenSSH可以参考这篇博客:Windows也能安装OpenSSH远程加密连接工具
Ubuntu系统SSH配置

大多数Ubuntu系统在安装的时间,会提示选择是否安装SSH。如果系统中没有安装,则需要举行SSH安装。
  1. sudo apt-get update
  2. sudo apt-get install ssh
复制代码
默认选择ssh安装是,会找到关联包及需要安装的包:
  1. The following additional packages will be installed:
  2.   libwrap0 ncurses-term openssh-server openssh-sftp-server ssh-import-id
  3. Suggested packages:
  4.   molly-guard monkeysphere ssh-askpass
复制代码
同意继续安装后,会开始下载命中和关联的包下载:
  1. Do you want to continue? [Y/n] y
  2. Get:1 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 openssh-sftp-server amd64 1:8.9p1-3ubuntu0.5 [38.7 kB]
  3. Get:2 http://archive.ubuntu.com/ubuntu jammy/main amd64 libwrap0 amd64 7.6.q-31build2 [47.9 kB]
  4. Get:3 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 openssh-server amd64 1:8.9p1-3ubuntu0.5 [435 kB]
  5. Get:4 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 ssh all 1:8.9p1-3ubuntu0.5 [4842 B]
  6. Get:5 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 ncurses-term all 6.3-2ubuntu0.1 [267 kB]
  7. Get:6 http://archive.ubuntu.com/ubuntu jammy/main amd64 ssh-import-id all 5.11-0ubuntu1 [10.1 kB]
  8. Fetched 804 kB in 4s (184 kB/s)
复制代码
安装过程中也会自动创建RSA密钥文件,等候自行安装完成即可。
  1. Setting up openssh-sftp-server (1:8.9p1-3ubuntu0.5) ...
  2. Setting up ssh-import-id (5.11-0ubuntu1) ...
  3. Setting up libwrap0:amd64 (7.6.q-31build2) ...
  4. Setting up ncurses-term (6.3-2ubuntu0.1) ...
  5. Setting up openssh-server (1:8.9p1-3ubuntu0.5) ...
  6. Creating config file /etc/ssh/sshd_config with new version
  7. Creating SSH2 RSA key; this may take some time ...
  8. 3072 SHA256:3aWRTPAKMhv2d+n26FiduYxCt40wfl0THM4D66FH2/s root@Ubuntu22 (RSA)
  9. Creating SSH2 ECDSA key; this may take some time ...
  10. 256 SHA256:7el9/WDO00oT+UrYA+c1+6XYFLVM/EhsvZaRmXtaZeg root@Ubuntu22 (ECDSA)
  11. Creating SSH2 ED25519 key; this may take some time ...
  12. 256 SHA256:nIqnuYpj+NY7HVJCU90jiR9PiWLMFjceZ67qHjOgzLY root@Ubuntu22 (ED25519)
复制代码
安装完成,版本信息ssh is already the newest version (1:8.9p1-3ubuntu0.5)
  1. mirror@Ubuntu22:~$ sudo apt-get upgrade ssh
  2. [sudo] password for mirror:
  3. Reading package lists... Done
  4. Building dependency tree... Done
  5. Reading state information... Done
  6. ssh is already the newest version (1:8.9p1-3ubuntu0.5).
  7. Calculating upgrade... Done
  8. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
  9. mirror@Ubuntu22:~$
复制代码
Cisco Switch SSH配置

在switch中启用SSH配置比力简朴,参考如下:
  1. switch(config)#ip ssh version 2  #启用SSH版本2
  2. switch(config)#line vty 0 3      #指定在VTY线路上允许SSH登录
  3. switch(config-line)#transport input ssh
复制代码
若交换机默认没要RSA密钥文件,可以通过如下下令新建:
  1. switch(config)crypto key generate rsa modulus 2048
复制代码
华为Switch SSH配置

  1. [Huawei] ssh server enable  #启用交换机上的SSH服务器功能
  2. [Huawei] user-interface vty 0 15 #配置了VTY用户界面,允许SSH协议的入站连接
  3. [Huawei-ui-vty0-15] protocol inbound ssh
复制代码
通常交换机默认都建立RS的密钥,如果没有的话,可以通过以下下令新建:
  1. [Huawei] crypto key generate rsa modulus 2048
复制代码
或者想要扫除之前的密钥文件,也可以执行如下下令:
  1. [Huawei] crypto key zeroize rsa
复制代码
客户端启用SSH连接

以secureCRT为例,建立连接:

  • 选择SSH2协议;
  • hostname输入要连接系统的IP或者hostname;
  • port 选择默认端口22。
  • username可以先不消输入,等连接建立后,会再提示输入username和password。

    希望以上关于SSH的总结,可以帮助到大家认识和利用SSH协议。

保举阅读



  • 局域网协议:地址解析协议(ARP,Address Resolution Protocol)
  • 局域网协议:以太网(Ethernet)详解
  • 局域网协议:VLAN技术先容
  • 网络安全准入技术之MAC VLAN
  • 【网络协议】网络运维管理神经-SNMP协议
  • 【TCP/IP协议】IMAP(Internet Message Access Protocol,即互联网消息访问协议)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

水军大提督

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表