在Windows上使用SSH登录Linux服务器的3种方法

  • 技术文档
  • 2022.03.24
  • 浏览:878

本教程将向您展示3种通过SSH在Windows上登录Linux服务器的方法。

什么是宋承宪?

SSH代表Secure Shell,它是1995年发明的,用来取代不安全的Telnet(电信网络)。它现在是系统管理员通过公共互联网安全登录远程Linux服务器的主要方式。尽管它的外观和行为与Telnet相同,但SSH协议上的所有通信都是加密的,以防止数据包嗅探。

如果您运行的是Linux或Mac计算机,默认情况下会安装SSH客户端。您可以打开一个终端窗口,运行下面的ssh命令来连接到远程Linux服务器。

ssh [email protected]

现在,让我们讨论如何在Windows上使用SSH。

方法1:Windows 10的内置SSH客户端

2015年,微软PowerShell团队决定将OpenSSH(客户端和服务器)移植到Windows。它最终在2017年的Windows 10秋季Creator更新中发布,并在2018年4月的更新中默认启用。

要在Windows 10上使用OpenSSH客户端,只需打开PowerShell窗口或命令提示符窗口并运行ssh命令。例如,如果我想连接到局域网中的Ubuntu桌面,我会运行

ssh [email protected]

linuxbabe是我的Ubuntu桌面上的用户名,192.168.0.101是我的Ubuntu桌面的私有IP地址。第一次连接到Linux计算机时,系统会提示您接受主机密钥。然后输入密码登录。登录后,您可以运行Linux命令来执行管理任务。

请注意,如果要将密码粘贴到PowerShell窗口中,需要右键单击鼠标并按Enter键。

ssh windows

要从Linux框中注销,请运行exit命令或按Ctrl+D。

PowerShell窗口中的默认字体大小非常小。要更改它,请右键单击标题栏并选择“属性”,然后可以更改字体大小和背景色。

windows powershell change font size and background

方法2:在Linux的Windows子系统中使用SSH

Windows Subsystem for Linux(WSL)允许您直接在Windows 10上运行本机Linux命令行工具。如果您是一名系统管理员,那么WSL仅仅使用SSH可能是一种过度使用,因为它会在Windows 10桌面上安装并运行Linux发行版(没有图形用户界面)。WSL是为web开发人员或需要从事开源项目的人创建的。您不仅可以使用SSH,还可以使用其他Linux命令行工具(Bash、sed、awk等)。

打开Microsoft应用商店并在搜索框中输入WSL。选择在Windows上运行Linux并安装您选择的Linux发行版。

wsl windows subsystem for linux

例如,我选择Ubuntu并点击Get按钮安装它。

ubuntu windows subsystem for linux

安装Linux发行版后,打开控制面板并选择程序->打开或关闭Windows功能。勾选Windows Subsystem for Linux的复选框以启用此功能。(要使此更改生效,您可能需要重新启动Windows PC。)

接下来,您可以通过搜索发行版的名称从“开始”菜单启动Linux发行版。第一次启动时,需要创建一个用户并设置密码。

ssh windows 10

之后,可以使用下面的ssh命令连接到运行ssh服务器的Linux服务器或PC。

ssh [email protected]

方法3:使用腻子

Putty是在Windows OpenSSH客户端和Windows Linux子系统出现之前,Windows上最著名、最流行的SSH客户端。要将SSH与Putty一起使用,需要从官方网站下载Putty程序并安装它。

从“开始”菜单启动Putty。然后输入Linux框的IP地址或主机名,然后单击“打开”按钮连接到它。

ssh windows command line

接受主机密钥,系统将提示您输入用户名和密码。

ssh windows 10 command line

请注意,当你输入密码时,光标不会移动,但它实际上接受了你的密码。要将文本粘贴到Putty中,请先按Ctrl+C复制文本,然后转到Putty窗口并按鼠标右键。

如何在Windows 10上设置SSH密钥(可选)

使用OpenSSH服务器验证用户登录主要有两种方式:

  • 密码验证
  • 公钥身份验证:也称为无密码SSH登录,因为您不需要输入密码。

要在Windows 10上设置公钥身份验证,请按照以下说明操作。

打开Windows Powershell,并运行以下命令以生成SSH密钥对。

ssh-keygen -t rsa -b 4096

哪里:

  • -t代表类型。上面的命令生成RSA类型的密钥对。RSA是默认类型。
  • -b代表比特。默认情况下,密钥长度为3072位。我们使用4096位的密钥来增强安全性。

当被问及要保存密钥的文件时,只需按Enter键即可使用默认文件。接下来,您可以输入密码来加密私钥,但每次登录Linux服务器时都需要输入此密码。如果不需要,可以按Enter键,这样它就没有密码。

ssh key windows

  • 私钥(您的身份证)将保存在中。用户目录下的ssh/id_rsa文件。
  • 公钥将保存在中。ssh/id_rsa。酒吧档案。

现在我们需要将公钥上传到远程Linux服务器。您可以使用以下命令在Powershell中显示公钥。

cat .ssh/id_rsa.pub

然后通过密码身份验证登录到您的服务器,并运行以下命令来创建密码。主目录下的ssh目录。

sudo mkdir ~/.ssh

创建授权的_hosts文件

sudo nano ~/.ssh/authorized_keys

复制SSH公钥并将其粘贴到此文件。保存并关闭文件。要在Nano文本编辑器中保存文件,请按Ctrl+O,然后按Enter确认。要关闭文件,请按Ctrl+X。

接下来,更改此文件的权限。

sudo chmod 600 ~/.ssh/authorized_keys

从Linux服务器注销。

exit

现在,无需输入密码即可通过SSH连接到服务器。

下一步

我希望本文能帮助您在Windows上使用SSH。您可能还希望在Linux服务器上启用自动安全更新来修补漏洞。

  • 在Ubuntu上设置自动安全更新(无人参与升级)

和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯以获得更多提示和窍门。当心?