一、SSH
1.什么是SSH
SSH 的全称是 Secure Shell。它是一种加密的网络协议,用于安全地在网络上执行命令和管理系统。通过SSH,用户可以安全地登录到远程服务器,执行命令,移动文件,并以加密的方式进行通信,以保护传输数据的安全。SSH还广泛用于系统管理和远程技术支持场景中。
2.SSH 协议的主要作用是什么?
SSH (Secure Shell) 协议主要用于提供一个安全的通道,使得用户能在一个不安全的网络(例如互联网)上安全地访问和管理远程服务器。其主要功能包括:
安全远程登录:SSH 允许用户安全地登录到远程服务器,并在该服务器上执行命令。
安全文件传输:通过SSH, 用户可以安全地上传或下载文件。SSH协议家族中的SCP和SFTP协议具体负责这项功能。
命令执行:用户可以通过SSH在远程服务器上执行单个命令或脚本。
端口转发和隧道:SSH可以创建加密的网络隧道,以安全地转发网络流量。这对于绕过网络限制或增强网络通信的安全性非常有用。
身份验证和授权:SSH提供多种身份验证机制,例如密码认证和公钥认证,以验证用户身份并控制用户对远程服务器的访问权限。
加密和完整性保护:SSH协议提供强有力的加密和完整性保护功能,确保数据在传输过程中不被窃取或篡改。
压缩:SSH可以在传输数据前对其进行压缩,以减少网络带宽的使用和提高传输速度。
通过以上功能,SSH协议为用户提供了一个安全、可靠和易于使用的远程访问和管理工具。
3.请描述SSH的基本工作原理。
SSH(Secure Shell)协议的基本工作原理可以分为以下几个步骤:
连接建立: 客户端和服务器之间建立TCP连接,通常在端口22上。在连接建立后,双方会协商并选择用于此会话的加密、MAC(消息认证码)和压缩算法。
身份验证: 一旦连接建立,并且协商了会话参数,下一步是身份验证。SSH支持多种身份验证方法,例如密码认证、公钥认证和基于证书的认证。最常用的是公钥认证,它使用一对非对称的密钥(一个公钥和一个私钥)来验证用户身份。
会话创建: 身份验证成功后,SSH会话将被创建。在此会话中,客户端和服务器可以安全地交换数据,所有传输的数据都会被加密。
数据交换: 客户端和服务器之间的所有通信都通过加密的通道进行,保护数据不被窃听或篡改。除了命令执行和数据传输,SSH还支持端口转发和隧道技术,允许用户安全地转发其他网络服务和协议。
端口转发和隧道: SSH可以创建安全的隧道,用于转发TCP/IP连接,从而保护其他基于TCP/IP的协议不受网络威胁。
断开连接: 用户可以随时关闭SSH会话,或者在一段时间内无活动后,SSH会话也可能会自动关闭。在断开连接时,所有的资源都会被释放,TCP连接也会被关闭。
通过上述步骤,SSH协议为用户提供了一个安全、加密的方式来访问和管理远程服务器,同时还提供了其他的网络安全功能,如端口转发和隧道。
4.如何通过SSH访问远程服务器?
通过SSH访问远程服务器通常需要以下几个步骤:
安装SSH客户端和服务器软件: 在你的机器上(客户端)安装一个SSH客户端软件,例如OpenSSH。确保远程服务器已安装并运行SSH服务器软件。
配置SSH服务器(可选): 在远程服务器上配置SSH服务器,设置如监听端口、身份验证方式和其他安全选项。这一步通常是可选的,但对于增强安全性和满足特定需求可能是必要的。
生成和配置SSH密钥(推荐): 生成SSH密钥对(一个公钥和一个私钥)。将公钥上传到远程服务器,并将其添加到 ~/.ssh/authorized_keys文件中。保留私钥以用于身份验证。
连接到远程服务器: 使用SSH客户端连接到远程服务器。基本命令格式如下:ssh username@remote-server-address其中,username是你在远程服务器上的用户名,remote-server-address是远程服务器的IP地址或域名。如果服务器不是在默认的SSH端口(22)上监听,你需要指定端口号,如:ssh -p port_number username@remote-server-address
身份验证: 如果你配置了公钥认证,SSH客户端会自动使用你的私钥进行身份验证。如果没有配置公钥,或公钥认证失败,你会被提示输入用户密码。
开始会话: 一旦身份验证成功,你将在远程服务器上获得一个shell会话,可以开始执行命令和管理服务器。
断开连接: 当你完成远程会话后,可以输入 exit或按 Ctrl+D来断开SSH连接。
以上就是通过SSH访问远程服务器的基本步骤。对于初次使用SSH的用户,可能需要花一些时间来熟悉和设置SSH密钥和服务器配置。
5、SSH 默认的端口号是多少?
SSH (Secure Shell) 的默认端口号是 22。在TCP/IP协议中,端口号用于区分同一网络地址上的不同服务。SSH协议默认在端口22上监听,以便客户端能够知道如何连接到服务器上的SSH服务。然而,出于安全或其他考虑,管理员可以配置SSH服务器以在不同的端口上监听。
6、什么是SSH密钥对,它们如何工作?
SSH密钥对是用于身份验证和保证通信安全的技术。密钥对由两部分组成:一个公钥和一个私钥。它们的工作原理基于密码学的非对称加密技术。以下是密钥对的基本工作原理和它们在SSH中的应用:
生成密钥对:通过SSH工具生成一对密钥,通常使用的命令是 ssh-keygen。生成的密钥包括一个公钥和一个私钥。
公钥:公钥可以安全地共享给任何人,通常将其上传到你想要访问的远程服务器上。公钥用于加密数据和验证签名。
私钥:私钥必须保持安全和私密,不应与任何人共享。私钥用于解密通过公钥加密的数据,并创建数字签名。
身份验证:在SSH中,公钥身份验证是一种常用的身份验证方法。你将公钥上传到远程服务器的 ~/.ssh/authorized_keys文件中。当你尝试通过SSH连接到服务器时,服务器会发送一个随机生成的消息。你的SSH客户端将使用私钥对这个消息进行签名,并将签名发送回服务器。服务器使用存储在 ~/.ssh/authorized_keys文件中的公钥验证这个签名。如果验证成功,身份验证就完成了,你就可以访问服务器。
加密通信:虽然SSH密钥对本身不直接用于加密通信,但是它们用于在客户端和服务器之间建立安全的加密通道。通常情况下,会通过某种密钥交换协议,如Diffie-Hellman密钥交换,协商出一个会话密钥。然后,这个会话密钥被用于加密和解密通信数据。
通过这种方式,SSH密钥对提供了一种安全、无密码的方法来验证用户身份,并帮助建立安全的加密通道。
三、SSH 服务开启
开启 Ubuntu 的 SSH 服务以后我们就可以在 Windwos 下使用终端软件登陆到 Ubuntu,比如
使用 SecureCRT,Ubuntu 下使用如下命令开启 SSH 服务:
sudo apt-get install openssh-server
上述命令安装 ssh 服务,ssh 的配置文件为/etc/ssh/sshd_config,使用默认配置即可。
版权归原作者 辰熤✔ 所有, 如有侵权,请联系我们删除。