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

文章目录
  • * 什么是SSH协议?
    
    • SSH为何是安全的?
    • SSH由哪些组件构成?
    • SSH可以帮助实现的功能
    • SSH的工作原理
    • SSH的历史版本
    • 常用的SSH工具有哪些
    • SSH配置案例参考
    •   * Windows 安装SSH
      
      • Ubuntu系统SSH配置
      • Cisco Switch SSH配置
      • 华为Switch SSH配置
    • 客户端启用SSH连接
    • 推荐阅读

什么是SSH协议?

SSH(Secure
Shell)协议是一种用于在不安全网络上提供安全远程登录、命令执行和数据传输的加密网络协议,通过公钥加密和身份验证技术确保通信的安全性和隐私性。
![在这里插入图片描述](https://img-
blog.csdnimg.cn/direct/dec6bc5c5ae5439e97048854c2c8a179.png)

SSH(Secure Shell)最初由Tatu Ylönen在1995年开发,现在已经发展成为一种广泛使用的标准工具,尤其是在Unix和Linux系统中。

因为telnet的明文传输特性,很多网络设备的登录方式也由telnet改为SSH登录。

以下是对SSH协议的详细介绍:

SSH为何是安全的?

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

SSH由哪些组件构成?

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

  • SSH客户端 :运行在本地计算机上,用于发起SSH连接请求。
  • SSH服务器 :运行在远程计算机上,监听SSH连接请求并进行响应。
  • SSH协议 :定义了客户端和服务器之间的通信规则和数据格式。
    ![在这里插入图片描述](https://img-
    blog.csdnimg.cn/direct/409c59e44c0247e9969e0a7c00c6cf12.png)

SSH可以帮助实现的功能

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

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

SSH的工作原理

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

  • 握手阶段 :客户端和服务器之间建立一个安全的连接,并协商加密算法和会话密钥。
  • 身份验证阶段 :客户端向服务器提供身份证明,通常使用密码、公钥或其他身份验证方法。
  • 会话阶段 :一旦身份验证成功,客户端和服务器之间就可以通过加密的通道进行交互,包括执行命令、传输文件等操作。
    ![在这里插入图片描述](https://img-
    blog.csdnimg.cn/direct/0c1d65816b8b4e788cb54c69d8fa2605.png)

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为例,建立连接:

  1. 选择SSH2协议;
  2. hostname输入要连接系统的IP或者hostname;
  3. port 选择默认端口22。
  4. username可以先不用输入,等连接建立后,会再提示输入username和password。
    ![在这里插入图片描述](https://img-
    blog.csdnimg.cn/direct/5a331a2826214a9d9ea43e2bd0e32ae5.png)
    希望以上关于SSH的总结,可以帮助到大家认识和使用SSH协议。

推荐阅读

最后

从时代发展的角度看,网络安全的知识是学不完的,而且以后要学的会更多,同学们要摆正心态,既然选择入门网络安全,就不能仅仅只是入门程度而已,能力越强机会才越多。

因为入门学习阶段知识点比较杂,所以我讲得比较笼统,大家如果有不懂的地方可以找我咨询,我保证知无不言言无不尽,需要相关资料也可以找我要,我的网盘里一大堆资料都在吃灰呢。

干货主要有:

①1000+CTF历届题库(主流和经典的应该都有了)

②CTF技术文档(最全中文版)

③项目源码(四五十个有趣且经典的练手项目及源码)

④ CTF大赛、web安全、渗透测试方面的视频(适合小白学习)

⑤ 网络安全学习路线图(告别不入流的学习)

⑥ CTF/渗透测试工具镜像文件大全

⑦ 2023密码学/隐身术/PWN技术手册大全

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

扫码领取

  • 13
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值