如何使用Cygwin获得对Windows 7的SSH命令行访问权限

您是否熟悉Linux/Unix并希望通过SSH访问您的Windows 7计算机?Cygwin提供了此功能,只需几个简单的步骤即可为您提供一个熟悉的环境。

我们假设您已经安装并配置了Cygwin。如果没有,请查看我们的文章“如何在带有Cygwin的Windows中使用Linux命令来入门”。

安装OpenSSH

我们将使用OpenSSH,所以如果您没有安装它,找到Cygwin的setup.exe文件并运行它。

您可以保留最初设置Cygwin时的所有默认设置。在套餐选择屏幕上,搜索“打开”,然后在“网络”菜单下查找。

您将看到一个名为“openssh”的包裹。在“新建”列下单击,其中显示“跳过”,直到您看到“Bin?”中出现一个X。纵队。如果您感到困惑,请查看前面的屏幕截图,了解在哪里可以点击。点击“下一步”并完成其余的设置过程,就像您上次所做的那样。

在Cygwin中配置OpenSSH

与大多数Linux发行版不同,OpenSSH不会自动将自身配置为运行并且只工作。我们需要执行几个简单的步骤。首先,右键单击Cygwin快捷方式,然后单击“以管理员身份运行”:

这将确保我们对所有事情都拥有适当的特权。你会看到一个空的Cygwin窗口出现。

输入以下命令:

您将看到该脚本生成一些默认文件,然后系统将提示您是否要启用“特权分离”。在其他系统上的OpenSSH标准安装中,默认情况下它是打开的,所以请继续对提示说“是”。

系统将提示您创建一个具有特殊权限的新帐户。选择“是”,脚本将继续。

接下来,系统将询问您是否希望sshd作为服务运行。这将允许您获得SSH访问权限,而不管Cygwin当前是否正在运行,这正是我们想要的。继续,点击“是”继续。

接下来,将要求您输入守护进程的值。输入以下内容:

您将看到脚本为您提供了有关系统的一些信息,然后它将要求您创建一个默认用户名为“CYG_SERVER”的特权帐户。默认设置运行良好,因此当系统询问您是否要使用不同的帐户名时,请键入“no”,不过如果您确实愿意,也可以更改此名称。

当然,您还必须输入此帐户的密码。

Cygwin将以纯文本形式显示您的密码以供验证,因此请确保您处于安全的位置。您将看到一些额外的信息出现,如果一切正常,您将收到一条消息,说明已成功完成。

您可以重新启动,也可以输入以下命令来启动sshd服务:

现在,您可以输入“exit”来关闭这个Cygwin实例。

SSH的用户配置

接下来,我们将为您的用户帐户创建适当的SSH密钥。正常打开Cygwin,输入以下命令:

系统将要求您为您的用户帐户创建特定密钥,因此请使用您需要的密钥。我继续对第一个问题说“不”,对第二个问题说“是”。

SSH2更安全,所以这就是我向您推荐的。输入密码后,系统将询问您是否要使用该ID访问您的计算机。键入“yes”。

接下来,如果您想使用无密码访问,系统将要求您创建一个SSH2 DSA ID文件。这一步我谢绝了。

就这样!。你们都配置好了。如果要真正快速测试配置,请在Cygwin窗口中输入以下命令:

v选项代表“Verbose”,并为您提供该过程的所有细节。系统将询问您是否要继续连接,因此输入“yes”,然后在提示符下输入密码。请记住,当您输入用户名时,它区分大小写!

如果一切正常,您将看到一个正常的bash提示符。

次要问题

如果您发现自己在任何配置步骤中陷入困境,请确保您正在运行的Windows用户帐户具有管理访问权限。如果您尝试以普通用户身份运行主机配置,可能会出现奇怪的错误,因此请确保在该步骤中以管理员权限运行Cygwin。如果在退出时,您得到有关让批处理作业保持运行的提示,则可以单击“no”来终止它们。

最后,如果您测试来自另一台计算机的SSH访问并收到错误,请确保您的防火墙没有阻止对端口22(如果使用SFTP,则为23)的访问。

如果您喜欢在Windows7机器上获得对文件的SSH/SFTP访问的能力,并且您还想要一个熟悉的shell来实现这一点,那么这种方法非常有效。Cygwin会将Windows驱动器挂载到“/cygdrive/driveletter”,如果您想知道的话。-)

相关文章