如何逐步设置Bitvise SSH服务器

你觉得设置安全外壳(SSH)服务器复杂吗?别担心;你不是一个人。通常,SSH服务器基于命令行,设置可能是一个挑战。如果你需要远程管理或传输文件到Windows机器,Bitvise SSH服务器可能是答案。

配置Bitvise SSH服务器不需要你输入任何命令。你可以在GUI中完成一切!继续读下去,因为这个教程将教你如何在Windows上安装和设置Bitvise SSH服务器。

最后,你将建立一个SSH服务器,你可以远程管理、传输文件,并且从一个SSH客户端登陆到远程桌面。

先决条件

如果你计划跟随这个教程,请确保具备以下要求。

  • A Windows computer to install the Bitvise SSH server. Any Windows desktop or server OS will work. This tutorial uses a server with the following configuration.
    • 操作系统:Windows Server Datacenter 2019
    • 计算机名称:xdc01
    • 域加入:否(独立)
    • DNS名称:xdc01.lzex.ml
    • IP地址(内部,公共):10.0.1.4, 52.186.86.26
    • Windows管理员账户:winadmin1
  • 另一台Windows电脑用作SSH客户端。为了测试目的,使用一台计算机作为SSH服务器和SSH客户端应该没问题。本教程将使用一台Windows 10计算机作为SSH客户端。

安装Bitvise SSH服务器

Bitvise SSH服务器有两个版本 – 标准版和个人版。标准版在安装过程中需要您指定许可证。另一方面,个人版可供个人和非商业用户免费使用,但有一定的限制。

本教程仅关注Bitvise SSH服务器的个人版。在继续之前,您需要了解个人版的限制。

  • 如果服务器不是域控制器(DC),则只能使用本地Windows帐户登录。
  • 您只能将每个人配置为SSH用户组。
  • 您只能创建和配置一个虚拟组。
  • 只允许添加最多10个Windows帐户。
  • 只允许创建最多10个虚拟帐户
  • 连接限制为最多15个并发会话。
  • KerberosNTLM身份验证方法无法正常工作。

既然您已了解其中的限制,让我们深入了解安装过程。安装Bitvise SSH服务器有两种方式 – 交互式(图形界面)和无人值守。您应该使用哪种方式完全取决于您的部署类型。

下载Bitvise SSH服务器安装程序

截至本文撰写时,最新的Bitvise SSH服务器版本为8.49。幸运的是,最新版本始终具有相同的安装程序文件名和下载链接,这意味着您无需担心下载错误的文件以安装较新版本。

通过浏览器下载Bitvise SSH服务器安装程序,在您将安装Bitvise SSH服务器的服务器上,单击此下载链接并将文件保存到C:\BvSshServer-Inst.exe。

或者,您可以使用PowerShell通过以下命令下载安装程序。

# Bitvise SSH服务器下载链接
$url = 'https://dl.bitvise.com/BvSshServer-Inst.exe'
# 本地下载目标
$installFile = 'c:\BvSshServer-Inst.exe'
# 下载Bitvise SSH安装程序
[System.Net.WebClient]::new().DownloadFile($url,$installFile)

交互式安装(GUI)

按照以下步骤执行交互式Bitvise SSH服务器安装:

1. 打开文件资源管理器,找到BvSshServer-Inst.exe安装程序,并双击文件以启动安装过程。

2. 在弹出的安装程序窗口上,勾选我同意接受本许可协议的所有条款。接下来,选择安装新的默认实例选项。不要更改位置值,然后点击安装

Setting up License Agreement and Instance Installation Options

3. 接下来,选择要安装的Bitvise SSH服务器版本。在此示例中,点击个人版,然后点击确定

Choosing the Bitvise SSH server edition

4. 现在,输入您的姓名信息,然后点击确定,等待安装完成。

Entering Your Name Information

5. 安装完成后,安装程序建议重新启动服务器以确保Bitvise SSH服务器完全正常运行。点击确定

Bitvise SSH Server installer recommends restarting the server

6. 最后,重新启动计算机。

无人值守安装(命令行)

另一种安装 Bitvise SSH Server 的方法是无人值守安装。如果您计划在一个或多个服务器上部署 Bitvise SSH Server 的实例,这种方法更加适用。

要运行无人值守安装,请按照以下步骤进行。

1. 以管理员身份打开 PowerShell。

2. 运行以下命令开始安装,并等待安装完成。

# 调用 Bitvise SSH Server 安装程序。
# -defaultInstance 参数安装 Bitvise SSH Server 的默认实例。
# -acceptEULA 参数告诉安装程序您接受许可协议。
# -activationCode=XXX 参数指定要应用于 Bitvise SSH Server 实例安装的激活代码。
## 下面的激活代码安装个人版许可证。
## 除非您有可以使用的标准版许可证,否则不要更改下面的激活代码。
& C:\BvSshServer-Inst.exe -defaultInstance -acceptEULA -activationCode=000000000000000000000000000000000000000000000000000000000000000000000000000000020000FFFFFFFFFFFFFFFFFFFFCEA10000
Installing the Bitvise SSH Server via command-line

3. 最后,通过运行以下命令重新启动计算机。

shutdown -r -t 0

配置基本的 Bitvise SSH Server 设置

在这一点上,即使您已经安装了 Bitvise SSH server,也没有人可以通过 SSH 登录到服务器。此外,默认配置仅允许来自本地子网的连接。让我们从配置 Bitvise SSH Server 防火墙规则并添加用户开始。

要执行任何管理工作,首先需要打开Bitvise SSH 服务器控制面板,该面板提供了配置SSH服务器选项的GUI界面。

1. 在服务器上,点击开始 -> Bitvise SSH 服务器 -> Bitvise SSH 服务器控制面板

Opening the Bitvise SSH Server Control Panel

2. 接下来,在服务器选项卡下,点击打开简易设置链接以打开设置编辑器。

Opening the settings editor

3. 在服务器设置选项卡下,将打开Windows防火墙的值更改为向任何计算机开放端口,然后点击下一步。选择此选项允许SSH连接来自任何来源,通过自动更新Windows防火墙中的Bitvise SSH服务器规则。

Updating the Bitvise SSH Server firewall rule

添加Windows账户

使用Bitvise SSH服务器中的Windows账户,您可以利用本地或域账户的现有用户账户和权限。

要允许Windows账户登录到Bitvise SSH服务器,请按照以下步骤操作:

  1. Windows账户选项卡上点击添加
Adding a new Windows account

2. 接下来,提供Windows账户信息和默认终端Shell。

  • (a) 选择 Windows 帐户类型(本地帐户或域帐户)。此示例将选择 本地帐户(假设 Bitvise SSH 服务器是个人版并且在非 DC 机器上)
  • (b) 在 Windows 帐户名称 框中输入用户名,但此示例使用名为 winadmin1 的本地 Windows 帐户。
  • (c) 单击下拉框,选择 Shell 访问类型 并选择 PowerShell。此选项将默认终端 shell 设置为 PowerShell,而不是默认命令行。
  • (d) 最后,单击 确定 完成添加新的 Windows 帐户。
Entering the Windows account information

3. 回到 Windows 帐户 选项卡,注意现在列表上有一个帐户。

您现在已添加了一个使用密码身份验证并具有对 SSH 服务器文件系统的完全访问权限的 Windows 用户帐户。

单击 下一步 保存更改并开始在下一部分创建虚拟帐户。如果此时不想创建虚拟帐户,请单击 保存更改

Adding a new Windows account

添加虚拟帐户

假设您想要允许用户对 SSH 服务器进行有限访问,也许只允许文件传输到特定目录。在这种情况下,虚拟帐户将是合适的。

与 Windows 帐户(本地或域)不同,虚拟帐户仅存在于 Bitvise SSH 服务器配置中。要创建一个虚拟帐户,请按照以下步骤操作。

1. 在虚拟账户选项卡上,点击添加以打开“新条目”表单,您将在其中设置虚拟账户的设置。

Adding a virtual account

2. 在新条目表单上,按照以下步骤指定新虚拟账户信息。

  • (a) 输入您首选的虚拟账户名称。在此示例中,新虚拟账户名称为sshuser1
  • (b) 点击虚拟账户密码,然后会出现****弹出窗口
  • (c) 在弹出窗口中,输入新密码,然后点击确定
  • (d) 返回新条目表单,将其余值保留为默认,并(e) 点击确定

BvShell shell访问类型是特定于Bitvise SSH服务器的类似于Bash的shell。此shell将用户的访问限制在您为他们分配的SSH服务器虚拟文件系统根目录内。

确保根目录中的默认路径存在。如果不存在,您可以继续创建虚拟账户,然后创建文件夹。在此示例中,根目录为C:\SftpRoot。

Entering the new virtual account information

3. 回到虚拟账户选项卡,您将看到现在有一个名为sshuser1的虚拟账户。点击保存更改以提交到目前为止所做的所有更改到SSH服务器配置。

您现在已经创建了一个新的虚拟帐户,该帐户使用密码验证,并且只能访问 C:\SftpRoot 文件夹。

Saving the changes

安装 Bitvise SSH 客户端

如果您对 SSH 不是很陌生,那么您可能以前使用过 SSH 客户端,例如 WinSCPPutty,等等。甚至还有一个 Chrome SSH 扩展!有许多可用的 SSH 客户端,您可以使用它们连接到 SSH 服务器。

但是要充分实现 Bitvise SSH 服务器的功能,Bitvise SSH 客户端是您可以使用的最佳客户端伴侣。无论是个人还是组织,Bitvise SSH 客户端都可免费使用。

要快速以非交互方式安装 Bitvise SSH 客户端,请按以下步骤操作。

1. 在 SSH 客户端计算机上以管理员身份打开 PowerShell。

2. 复制下面的代码并在 PowerShell 中运行它,以执行 Bitvise SSH 客户端的非交互式安装。

# Bitvise SSH客户端下载链接
$url = 'https://dl.bitvise.com/BvSshClient-Inst.exe'
# 本地下载目的地
$installFile = 'c:\BvSshClient-Inst.exe'

# 下载Bitvise SSH安装程序
[System.Net.WebClient]::new().DownloadFile($url,$installFile)

# 安装
& $installFile -acceptEULA
Installing the Bitvise SSH Client

3. 安装完成后,点击开始 —> Bitvise SSH客户端 —> Bitvise SSH客户端启动程序。

Launching the Bitvise SSH Client

接下来,您可以看到Bitvise SSH客户端的外观。

Showing the Bitvise SSH Client’s Interface

连接到Bitvise SSH服务器

安装了Bitvise SSH客户端后,您可以根据您的操作意图,以多种方式连接到Bitvise SSH服务器。

无论是仅运行命令(终端)、传输文件(SFTP)还是登录到远程桌面(RDP),Bitvise SSH客户端都可以满足您的需求。

注意:示例和说明使用您在“添加Windows帐户”部分(第二步)设置的Windows帐户与SSH服务器进行交互。从这一点开始,说明将保持一致,不会在Windows帐户和虚拟帐户之间切换。

打开Bitvise SSH客户端窗口后,请按照下面的步骤登录到SSH服务器。

1. 在登录选项卡下,将SSH服务器地址输入到主机框中。在本例中,Bitvise SSH服务器地址为xdc01.lzex.ml

2. 将SSH服务器端口号输入到端口框中。如果您没有更改,默认端口号为22。

3. 在身份验证部分,将帐户的用户名输入到用户名框中。在此示例中,输入之前在SSH服务器上设置的Windows帐户。

4. 将初始方法暂时更改为密码,因为您的SSH帐户只支持密码身份验证。

5. 现在点击另存配置文件为以保存您的客户端配置。

Specifying the server and authentication details

6. 选择保存配置文件的位置并输入文件名。为更好的识别,以username@server的格式命名配置文件,然后点击保存

Saving the SSH client profile

7. 回到Bitvise SSH客户端窗口,点击登录

Logging in to the SSH server

8. 当连接到SSH服务器时,客户端首先会提示您验证SSH服务器主机密钥。这一步确保您连接到了正确的SSH服务器主机。

如下图所示,左边的图像显示了Bitvise SSH服务器上的主机密钥,而右边的图像是Bitvise SSH客户端的SSH密钥验证提示。

一旦您确认了正确的主机密钥,请点击接受并保存

Verifying the SSH host keys

9. 接下来,在密码提示中,输入帐户密码,然后点击确定

Entering the account password

10. 现在您已经登录,请注意窗口标题已更改为用户名@ssh服务器:端口格式。点击新终端控制台以启动控制台窗口。

Launching the terminal

最后,通过运行命令hostname来测试终端。

Testing the SSH terminal

文件传输

Bitvise SSH客户端具有图形用户界面功能,允许您与Bitvise SSH服务器之间传输文件。要开始传输文件,请按照以下步骤操作。

1. 在Bitvise SSH客户端窗口上,点击左侧的新SFTP窗口按钮。此按钮会启动一个新的文件传输窗口。

2. 接下来,设置本地文件和远程文件位置:

  • (a) 在本地文件窗格(左侧),浏览或输入包含您要传输的文件的位置。在此示例中,本地路径为C:\temp。
  • (b) 在远程文件窗格(右侧),浏览或键入远程位置。此示例使用/C/SftpRoot作为远程位置。
Setting the local and remote locations

3. 将文件从本地传输到远程位置。

  • (a) 选择要传输的文件。此示例选择了所有要传输的本地文件。
  • (b) 保留自动启动选项已启用。此选项一旦单击上传按钮,即立即开始文件传输。
  • (c) 将传输模式保留为二进制。使用此传输模式,在传输过程中不会发生文件转换。
  • (d) 将现有文件规则保留为如果文件存在则询问。如果文件已经存在于远程目的地,此规则将提示您采取操作。
  • (e) 最后,单击上传开始文件传输。
Transferring files via SFTP

通过SSH隧道登录到远程桌面

除了使用SSH终端和SFTP文件传输,您还可以通过RDP登录到SSH服务器。使用此功能时,无需进行额外的Bitvise SSH服务器配置 – 它直接可用。

您只需要确保用户帐户具有端口转发权限,这对于Windows帐户是默认启用的。如果在添加Windows帐户时错过了该权限,请参考下面的图像作为提醒。

Ensuring User has Port Forwarding Permission

要通过SSH隧道登录到RDP,请按照以下步骤进行。

在 Bitvise SSH 客户端窗口上,单击 新建远程桌面 按钮开始远程桌面连接。

Launching the remote desktop

接下来,您应该会看到一个熟悉的远程桌面连接窗口,就像下面这个一样。单击 连接 继续。

注意:不会出现凭据提示,因为 Bitvise SSH 客户端会自动使用您提供的 SSH 凭据。

Starting RDP Connection
RDP via SSH Tunneling

最后,退出 RDP 会话。

配置公钥认证

到目前为止,您进行的每个测试都仅需要密码认证。使用复杂密码可以帮助保护您的帐户,但密码认证是最薄弱、最不安全的。不过,不要惊慌。有额外的配置可以解决这种可能的安全风险!

注意:后续说明假定您已使用您的 Windows 帐户登录到 Bitvise SSH 服务器。

A key pair consists of a public key and a private key. The public key is what you upload to the SSH server, while the private key is what the SSH client presents to the server during authentication. As the name implies, a key pair ensures that only matching keys can pass the server authentication.

要生成密钥对并配置您的 SSH 客户端身份验证,请按照以下步骤操作。

1. 在 Bitvise SSH 客户端上,单击 客户端密钥管理器 链接。此链接会打开 Bitvise 客户端密钥管理 窗口。

Launching the key manager

2. 在 Bitvise 客户端密钥管理 窗口上,单击 生成新的 来设置新的密钥对。

Clicking the Generate New button

3. 在 生成新密钥对 弹出窗口中,输入一个有意义的描述到评论框中,例如下面的示例。然后,点击 生成 来保存更改并生成一个新的密钥对。

要生成受密码保护的密钥,请输入密码。但是对于这个示例,请将密码留空。

Generating a new keypair

4. 回到 客户端密钥管理器,您会看到您生成的新密钥对,位置在 配置文件 1。请记住,密钥对有私钥和公钥,公钥应该在 SSH 服务器上。

右键单击密钥,然后点击 上传到服务器 将公钥上传到 Bitvise SSH 服务器。

Uploading the public key to the SSH server

上传完成后,您会在列表中看到一个新条目,但是位置在 服务器 1

Viewing the uploaded key on the server

5. 现在,关闭客户端密钥管理器窗口,返回 Bitvise SSH 客户端窗口。

6. 回到主窗口,点击 登出 来退出当前的 SSH 会话。

Logging out of current SSH session

7. 接下来,将身份验证方法设置为使用密钥而不是密码,因为 SSH 用户帐户已经有了密钥对。

  • (a) 将 初始方法 更改为 publickey。 这样做会将 SSH 客户端的身份验证方法更改为使用密钥对。
  • (b) 对于 客户端密钥,点击下拉框,选择先前生成的密钥对。在这个示例中,客户端密钥是 配置文件 1。
  • (c) 最后,点击登录以登录SSH服务器。
Logging in using the public key authentication method

在下面的日志中,您会注意到SSH客户端使用了公钥身份验证方法,并且登录成功了。

Viewing SSH client session log

结论

Bitvise SSH服务器是一个强大、安全且方便配置的SSH服务器。本教程旨在教您如何通过安装和配置基本的SSH服务器元素来开始使用Bitvise SSH服务器。

如果您之前设置过其他SSH服务器,您认为Bitvise SSH服务器如何比较?这个解决方案是更好的替代,一个平衡的对手,还是不相匹配?让我们知道!

Source:
https://adamtheautomator.com/bitvise-ssh-server/