在Linux世界中,安全外壳(SSH)协议是从命令行控制远程计算机的最常用方法。SSH是真正的Linux原创,但它在Windows世界中也越来越受欢迎。甚至还有一个官方的WindowsSSH文档解释了如何使用OpenSSH控制Windows。这篇文章展示了如何使用流行的开源工具PuTTY建立从Windows到Fedora33Linux系统的SSH连接。SSH使用方法SSH使用客户端-服务器模型,即SSH客户端创建到SSH服务器的连接。SSH服务器通常作为守护进程运行,因此常被称为SSHD。您很难找到不附带SSH守护程序的Linux发行版。在Fedora33中,SSH守护进程已安装但未激活。您可以使用SSH控制几乎任何Linux机器,无论它是作为虚拟机运行还是作为网络上的物理设备运行。一个常见的用例是无头配置的嵌入式设备,例如RaspberryPi。SSH还可以用作通向其他网络服务的隧道。因为SSH连接是加密的,所以您可以将SSH用作任何默认情况下不提供加密的协议的传输层。在这篇文章中,我将讲解SSH的四种使用方式:1.如何在Linux端配置SSH守护进程;2.如何建立远程控制台连接;3、如何通过网络复制文件;4.如何使用SSH作为某些协议的隧道。1、配置SSHD,使用Linux系统(本文为Fedora33)作为SSH服务器,允许PuTTYSSH客户端连接。首先,检查守护进程的SSH配置。配置文件放在/etc/ssh/sshd_config,里面有很多选项,取消相关行的注释即可激活:#$OpenBSD:sshd_config,v1.1002016/08/1512:32:04naddyExp$#这是sshd服务器系统范围的配置文件。有关详细信息,请参阅#sshd_config(5)。#这个sshd是用PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin编译的#该策略用于默认sshd_config中的选项#OpenSSH将在#可能的情况下使用默认值指定选项,但将它们保留在注释中。未注释的选项覆盖#默认值。包括/etc/ssh/sshd_config.d/*.conf#Port22#AddressFamilyany#ListenAddress0.0.0.0#ListenAddress::没有任何未注释的默认配置应该在这个例子中工作。要检查SSH守护程序是否正在运行,请输入systemctlstatussshd:$systemctlstatussshdsshd.service-OpenSSH服务器守护程序已加载:已加载(/usr/lib/systemd/system/sshd.service;已启用;供应商预设:已启用)活动:活动(运行)自星期五2018-06-2211:12:05UTC;2年11个月前Docs:man:sshd(8)man:sshd_config(5)MainPID:577(sshd)Tasks:1(limit:26213)CGroup:/system.slice/sshd.service└─577/usr/sbin/sshd-D-oCiphers=[aes256-gcm@openssh.com][5],chacha20-[...]如果它处于非活动状态,请使用systemctlstartsshd命令启动它。2.设置远程控制台在Windows下下载PuTTY安装程序,安装并打开。您应该看到这样一个窗口:PuTTY配置屏幕在“主机名(或IP地址)”输入框中,键入您的Linux系统连接信息。本文设置了一个带有桥接网络适配器的Fedora33虚拟机,允许我从IP地址192.168.1.60连接到系统。点击“打开”,应该会打开一个窗口,如图:PutTTYsecurityalert这是SSH防止中间人攻击的安全措施之一。消息中的指纹应与Linux系统上/etc/ssh/ssh_host_ed25519_key.pub中的密钥匹配。PuTTY将此密钥打印为MD5散列。要检查其真实性,请切换到您的Linux系统并打开控制台,然后键入:ssh-keygen-l-Emd5-f/etc/ssh/ssh_host_ed25519_key.pub输出应与PuTTY显示的指纹相匹配:$ssh-keygen-l-Emd5-f/etc/ssh/ssh_host_ed25519_key.pub256MD5:E4:5F:01:05:D0:F7:DC:A6:32nocomment(ED25519)单击是确认PuTTY的安全警告。主机系统的指纹现在存储在PuTTY的信任列表中,该列表位于Windows注册表中:HKEY_CURRENT_USER\SOFTWARE\SimonTatham\PuTTY\SshHostKeys输入正确的登录凭据,然后您应该进入位于用户主目录下的控制台.登录SSH3,通过网络复制文件除了远程控制台,还可以使用PuTTY通过SSH传输文件。PuTTY的安装目录为C:\ProgramFiles(x86)\PuTTY,在该目录下寻找ppscp.exe。您可以使用它从Linux系统复制文件或向Linux系统复制文件。使用Windows+R输入cmd打开命令提示符,将Linux用户主目录下的MYFile.txt复制到Windows主目录下,输入:C:\"ProgramFiles(x86)"\PuTTY\pscp.exestephan@192.168.1.60:/home/stephan/MyFile.txt。要将文件从Windows主目录复制到Linux用户主目录,请输入:C:\"ProgramFiles(x86)"\PuTTY\pscp.exeMyFile.txtstephan@192.168.1.60:/home/stephan/如您所愿可能已经发现,复制命令的结构通常为:pscp.exe
