SSH是什么
Secure Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在应用层基础上的安全网络协议。
它是专为远程登录会话(甚至可以用Windows远程登录Linux服务器进行文件互传)和其他网络服务提供安全性的协议,可有效弥补网络中的漏洞。
通过SSH,可以把所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。
还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。
目前已经成为Linux系统的标准配置。
SSH只是一种协议,存在多种实现,既有商业实现,也有开源实现。
SSH的安全机制
SSH之所以能够保证安全,原因在于它采用了非对称加密技术(RSA)加密了所有传输的数据。
传统的网络服务程序,如FTP、Pop和Telnet其本质上都是不安全的;
因为它们在网络上用明文传送数据、用户帐号和用户口令,很容易受到中间人(man-in-the-middle)攻击方式的攻击。
就是存在另一个人或者一台机器冒充真正的服务器接收用户传给服务器的数据,然后再冒充用户把数据传给真正的服务器。
但并不是说SSH就是绝对安全的,因为它本身
提供两种级别的验证方法:
第一种级别(基于口令的安全验证):
只要你知道自己帐号和口令,就可以登录到远程主机。
所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。
可能会有别的服务器在冒充真正的服务器,也就是受到“中间人攻击”这种方式的攻击。
第二种级别(基于密钥的安全验证):
你必须为自己创建一对密钥,并把公钥放在需要访问的服务器上。
如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密钥进行安全验证。
服务器收到请求之后,先在该服务器上你的主目录下寻找你的公钥,然后把它和你发送过来的公钥进行比较。
如果两个密钥一致,服务器就用公钥加密“质询”(challenge)并把它发送给客户端软件。
客户端软件收到“质询”之后就可以用你的私钥在本地解密再把它发送给服务器完成登录。
与第一种级别相比,第二种级别不仅加密所有传输的数据,也不需要在网络上传送口令,因此安全性更高,可以有效防止中间人攻击。
一、尝试安装OpenSSH服务器(windows10系统)
其他系统参考链接:
⭐️Windows安装SSH教程-CSDN博客
开始-搜索设置-设置
搜索-搜索“”可选功能“”
添加openssh
测试ssh
下面的参考这个教程,我没实现
⭐️Windows安装SSH教程-CSDN博客
3. 配置SSH服务器(可选)
安装SSH服务器后,您可能需要进行一些配置更改以满足您的需求。
这可以通过编辑SSH服务器配置文件(通常位于C:\ProgramData\ssh\sshd_config)来完成。
以下是一些常见的配置选项:
Port:指定SSH服务器监听的端口号(默认为22)。
PermitRootLogin:控制是否允许root用户通过SSH登录。出于安全考虑,通常建议将其设置为“no”。
PasswordAuthentication:控制是否允许密码身份验证。
为了提高安全性,您可以考虑仅使用密钥身份验证,并将此选项设置为“no”。
编辑配置文件后,您需要重新启动SSH服务器以使更改生效。这可以通过在PowerShell或命令提示符中运行net stop sshd和net start sshd命令来完成。
4. 测试SSH连接
安装并配置SSH客户端和服务器后,您应该能够测试SSH连接以确保一切正常工作。
您可以使用ssh命令(在PowerShell或命令提示符中)从另一台计算机连接到您的Windows 11 SSH服务器。
例如:
ssh username@your_windows11_ip_address
其中username是您的Windows 11用户名,
your_windows11_ip_address是您的Windows 11机器的IP地址。
如果一切正常,您将被要求输入密码(如果您启用了密码身份验证)或确认密钥(如果您启用了密钥身份验证),然后成功登录到您的Windows 11机器。