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

这篇具有很好参考价值的文章主要介绍了【网络协议】远程登录安全连接协议SSH(Secure Shell)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

什么是SSH协议?

SSH(Secure Shell)协议是一种用于在不安全网络上提供安全远程登录、命令执行和数据传输的加密网络协议,通过公钥加密和身份验证技术确保通信的安全性和隐私性。
【网络协议】远程登录安全连接协议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(Secure Shell),运维技术,网络

SSH可以帮助实现的功能

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

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

SSH的工作原理

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

  • 握手阶段:客户端和服务器之间建立一个安全的连接,并协商加密算法和会话密钥。
  • 身份验证阶段:客户端向服务器提供身份证明,通常使用密码、公钥或其他身份验证方法。
  • 会话阶段:一旦身份验证成功,客户端和服务器之间就可以通过加密的通道进行交互,包括执行命令、传输文件等操作。
    【网络协议】远程登录安全连接协议SSH(Secure Shell),运维技术,网络

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安装。

sudo apt-get update
sudo apt-get install ssh

默认选择ssh安装是,会找到关联包及需要安装的包:

The following additional packages will be installed:
  libwrap0 ncurses-term openssh-server openssh-sftp-server ssh-import-id
Suggested packages:
  molly-guard monkeysphere ssh-askpass

同意继续安装后,会开始下载命中和关联的包下载:

Do you want to continue? [Y/n] y
Get:1 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 openssh-sftp-server amd64 1:8.9p1-3ubuntu0.5 [38.7 kB]
Get:2 http://archive.ubuntu.com/ubuntu jammy/main amd64 libwrap0 amd64 7.6.q-31build2 [47.9 kB]
Get:3 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 openssh-server amd64 1:8.9p1-3ubuntu0.5 [435 kB]
Get:4 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 ssh all 1:8.9p1-3ubuntu0.5 [4842 B]
Get:5 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 ncurses-term all 6.3-2ubuntu0.1 [267 kB]
Get:6 http://archive.ubuntu.com/ubuntu jammy/main amd64 ssh-import-id all 5.11-0ubuntu1 [10.1 kB]
Fetched 804 kB in 4s (184 kB/s)

安装过程中也会自动创建RSA密钥文件,等待自行安装完成即可。

Setting up openssh-sftp-server (1:8.9p1-3ubuntu0.5) ...
Setting up ssh-import-id (5.11-0ubuntu1) ...
Setting up libwrap0:amd64 (7.6.q-31build2) ...
Setting up ncurses-term (6.3-2ubuntu0.1) ...
Setting up openssh-server (1:8.9p1-3ubuntu0.5) ...

Creating config file /etc/ssh/sshd_config with new version
Creating SSH2 RSA key; this may take some time ...
3072 SHA256:3aWRTPAKMhv2d+n26FiduYxCt40wfl0THM4D66FH2/s root@Ubuntu22 (RSA)
Creating SSH2 ECDSA key; this may take some time ...
256 SHA256:7el9/WDO00oT+UrYA+c1+6XYFLVM/EhsvZaRmXtaZeg root@Ubuntu22 (ECDSA)
Creating SSH2 ED25519 key; this may take some time ...
256 SHA256:nIqnuYpj+NY7HVJCU90jiR9PiWLMFjceZ67qHjOgzLY root@Ubuntu22 (ED25519)

安装完成,版本信息ssh is already the newest version (1:8.9p1-3ubuntu0.5)

mirror@Ubuntu22:~$ sudo apt-get upgrade ssh
[sudo] password for mirror:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
ssh is already the newest version (1:8.9p1-3ubuntu0.5).
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
mirror@Ubuntu22:~$

Cisco Switch SSH配置

在switch中启用SSH配置比较简单,参考如下:

switch(config)#ip ssh version 2  #启用SSH版本2
switch(config)#line vty 0 3      #指定在VTY线路上允许SSH登录
switch(config-line)#transport input ssh

若交换机默认没要RSA密钥文件,可以通过如下命令新建:

switch(config)crypto key generate rsa modulus 2048

华为Switch SSH配置

[Huawei] ssh server enable  #启用交换机上的SSH服务器功能
[Huawei] user-interface vty 0 15 #配置了VTY用户界面,允许SSH协议的入站连接
[Huawei-ui-vty0-15] protocol inbound ssh

通常交换机默认都建立RS的密钥,如果没有的话,可以通过以下命令新建:

[Huawei] crypto key generate rsa modulus 2048

或者想要清除之前的密钥文件,也可以执行如下命令:

[Huawei] crypto key zeroize rsa

客户端启用SSH连接

以secureCRT为例,建立连接:文章来源地址https://www.toymoban.com/news/detail-768139.html

  1. 选择SSH2协议;
  2. hostname输入要连接系统的IP或者hostname;
  3. port 选择默认端口22。
  4. username可以先不用输入,等连接建立后,会再提示输入username和password。
    【网络协议】远程登录安全连接协议SSH(Secure Shell),运维技术,网络
    希望以上关于SSH的总结,可以帮助到大家认识和使用SSH协议。

推荐阅读

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

到了这里,关于【网络协议】远程登录安全连接协议SSH(Secure Shell)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • VSCode远程连接服务器(SSH免密登录)

            连接远程服务器的方式众多,本文将介绍基于VS Code的SSH免密登录方法。在开始SSH远程链接以前,您需要完成以下步骤: 1.以Windows平台为例,您需要在cmd终端(Win+R输入cmd)输入: 如果出现信息即代表Windows端的SSH配置完成。 2.Windows生成公钥的方法: 如果您可以在

    2023年04月26日
    浏览(65)
  • ssh命令用于远程登录到其他计算机,实现安全的远程管理_linux ssh远程登录命令

    文章标题 简介 一,参数列表 二,使用介绍 1. 连接远程服务器 2. 使用SSH密钥登录 2.1 生成密钥对 2.2 将公钥复制到远程服务器 3. 端口转发 3.1 本地端口转发 3.2 远程端口转发 4. X11转发 5. 文件传输与远程命令执行 5.1 文件传输 5.1.1 从本地向远程传输文件 5.1.2 从远程服务器下载

    2024年04月11日
    浏览(49)
  • vscode通过ssh连接远程服务器+免密登录(图文)

    1.打开Visual Studio Code,进入拓展市场(Ctrl+Shift+X),下载拓展Remote - SSH 2. 点击远程资源管理器选项卡,并选择远程(隧道/SSH)类别 3. 点击ssh配置 4.在弹出的选择配置文件中,点击第一个  5.在config文件中输入以下内容 如: 6.保存后点击左边刷新按钮  7.这时展开SSH,就能看到刚刚

    2024年02月14日
    浏览(75)
  • Linux Debian11服务器安装SSH,创建新用户并允许SSH远程登录,及SSH安全登录配置

    一、在 Debian 中添加 sudo 用户 1.创建新用户 首先,要创建用户,当前用户必须是 root 用户或者 sudo 用户。 使用下面adduser 命令创建一个用户名为test的sudo用户,按照提示输入密码,使用 adduser 命令,还会创建用户的主目录。 sudo adduser test 2.将用户成为 sudo 用户 创建test用户后,

    2024年02月05日
    浏览(67)
  • Linux Debian11服务器安装SSH,创建新用户并允许SSH远程登录,及SSH安全登录配置!

    在Debian 11服务器上安装SSH并创建新用户允许SSH远程登录的步骤如下: 步骤1:安装SSH 为了安装SSH服务器,您需要以root用户或具有sudo特权的用户身份登录到您的Debian 11服务器。 在终端中执行以下命令来安装SSH服务器: 步骤2:创建新用户 要创建一个新用户,您可以使用  add

    2024年02月12日
    浏览(54)
  • 远程管理通道安全SSH协议主机验证过程

            可以使用SSH协议进行远程管理通道安全保护,其中涉及的主要安全功能包括主机验证、数据加密性和数据完整性保护。         这里要注意的是【主机验证】和【身份验证】的区别,主机验证是客户端确认所访问的服务端是目标访问对象,比如从从客户端A(192.1

    2024年02月10日
    浏览(48)
  • Visual Studio Code连接远程服务器连接ssh,并设置免密登录以及汉化

    本文介绍如何在Visual Studio Code连接远程服务器连接ssh,并设置免密登录以及界面汉化等。 https://code.visualstudio.com/Download 1.进入官网下载对应版本的IDE 1.点击左侧的“Extensions”拓展下载插件包Python、Chinese(记得点击右下角弹出来的应用即可重新启动展示中文界面)、ssh 2.点击

    2024年02月16日
    浏览(64)
  • 关于kali无法ssh远程连接以及无法直接使用root登录的解决办法

    准备将pwn机转移到kali上面,之后就可以专职用kali来debug做pwn题以及挖洞了,不过呢,kali默认是关闭ssh服务的,所以需要我们手动开启,而且19年的kali版本之后,kali开始默认关闭了root登录,所以我们也需要开启这个 我们先使用 netstat -lnt 命令查看一下当前开启的服务,看看

    2024年02月10日
    浏览(42)
  • 【Linux命令详解 | ssh命令】 ssh命令用于远程登录到其他计算机,实现安全的远程管理

    在编程和系统管理领域,远程管理是一项至关重要的任务。SSH(Secure Shell)命令是一种加密的网络协议,它提供了一种安全的方式,使您能够在不同的计算机之间进行远程连接和管理。通过使用SSH命令,您可以在远程计算机上执行命令、传输文件以及进行安全的远程登录。

    2024年02月12日
    浏览(46)
  • Ubuntu20.04安装后,root账户无法登录,ssh无法远程连接处理方法

    最近一直在用Ubuntu系统,发现了一些规律性的东西,每当安装完系统就得去做一些事情,要不然无法正常丝滑的使用,我把这几个罗列出来:(装机的步骤我就省了,比较简单跟着向导来就行,不要最小化安装就行) 1.更换apt 源为阿里云镜像源(下载包的时候会很快) 2.给

    2024年02月10日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包