1276
需用时 02:33
Geek生存法则:建立家庭SSH服务器

众所周知,任何Unix系统都使用了SSH(Secure Shell)协议先与其他电脑建立连接,然后才执行传输文件之类的任务。利用SSH安全协议可以有效防止远程管理过程中的信息泄露问题。但如果想得到这种安全性的好处,那你就必须变身成为满脸胡子、扎着马尾辫、穿着企鹅T恤、能用ssh远程处理数据的Unix高手吗?

答案是否定的,现在只要借助 Cygwin 这个软件,你就可以轻松在Windows系统的电脑上搭建SSH服务器了(在苹果机上更容易实现)。一旦建立了个人SSH服务器并成功运行,你就可以安全地连接到互联网上的任何地方,随心所欲地上传下载文档、执行所有的命令行。

附注:在你的电脑上运行服务器并提供相应端口的行为是十分冒险的,在此之前,请确保你的电脑安装了全部更新,有着强大的登录口令以及有着防火墙的保护。

SSH是什么?详细请见 维基百科

为什么选择SSH?

1)不像家庭网络服务器,SSH即可读又可写,这意味着你可以用它上传和下载文档。

2)与家庭FTP服务器不同,SSH十分安全。所有的传输都是加密的,并且无法被嗅探。

3)不同于VNC(虚拟网络计算机)服务器,SSH不仅仅只是让你远程控制计算机,它还通过加密保证安全(VNC并不提供)。

安装和设置OpenSSH

我们将使用免费的Unix模拟器Cygwin来获得OpenSSH套件,并安装到你的Windows系统中。如果你对Cygwin还一无所知,那你可以搜索下相关资料,大概了解下它的操作。

首先点击运行Cygwin的setup.exe,并在软件包列表中的“NET”组里勾选“openssl”。完成安装后,如果有必要的话,重启下你的电脑。

/gkimage/st/w1/mt/stw1mt.png

接着点开Cygwin的命令行界面,输入ssh -host -config回车,然后脚本会出现“特权隔离”的提示,选择“Yes”。当脚本询问是否建立本地sshd用户、是否安装sshd服务时,全部同意。最后脚本会停下来,显示“CYGWIN=”,这时你输入ntsec tty即可。

禁用SSH协议1

当你在一个锁定的网络中,管理员可能出于一些安全原因要求你禁用SSH的协议1。显然,协议1存在着一些漏洞,因此现在我们不需要使用到它了。我们用文档编辑器打开SSHD的配置文件(c:cygwinetcdefaultsetcsshd_config)作如下修改:

找到#Protocol 2,1

改成Protocol 2

也就是说把#和,1去掉,然后保存文档。

运行SSH服务器

因为我们是在Windows系统上建立的服务器,所以它会使用你的登录名和密码作为用户验证。(请确保你的所有帐户都有个强大的密码)

接着根据Cygwin的提示,输入

net start sshd

你会看到以下信息:

The CYGWIN sshd service is starting.

The CYGWIN sshd service was started successfully.

这就大功告成了!

附注:你还可以在“服务”面板中启动或停止Cygwin SSH服务(控制面板-管理工具-服务)。

打开SSH的22号端口

/gkimage/ar/c7/cf/arc7cf.png

既然你已经运行了服务器,那现在就需要在防火墙中打开一个端口好让客户端连接上主机。记住,SSH是运行在22号端口上的,别设置成其他的端口号。

我们打开Windows防火墙,点击“例外”选项卡,点击“添加端口”,输入名称ssh,端口号22,再点击确定即可。

连接上你的服务器

/gkimage/dg/2s/mz/dg2smz.png

连接上你的SSH服务器的方法有很多,并且只需要知道服务器的IP地址就行了(有时还需要动态DNS地址)。

在另外一台机器的Cygwin命令行窗口中输入:

ssh -l username(注意是小写的L字母,不是数字1)

这样你就登录上了服务器,现在你可以在远程客户端上通过命令行来进行各种操作。

如果你不喜欢使用命令行来传输文件,那就换用图形用户界面吧,我们推荐一款出色的免费软件WinSCP,具体设置如图所示,记得把“localhost”换成服务器IP地址。

/gkimage/vc/b4/18/vcb418.png

一旦你连接上服务器,你就可以浏览服务器上的所有文件夹,随意地上传和下载文档。

此外,你还可以使用支持SFTP(安全文件传送协议)或安全FTP协议的常规FTP客户端来传输数据。例如,在苹果机上就可以用SFTP协议来对SSH服务器进行数据传输。

Mac上的SSH服务器

/gkimage/w6/y4/z6/w6y4z6.png

苹果机上有着众多的网络工具,这可不是吹的,Mac用户想要运行一个SSH服务器真的是轻而易举。在系统设置-分享-服务中,勾选“远程登录”即可。

设置完一切后,你就可以在Windows机器上用WinSCP、Cygwin/Mac命令行终端来连接Mac机上的SSH服务器了。

如果你觉得IP地址太难记忆了,那你可以使用为你的服务器注册一个方便好记域名,详情点击 这里

最后,祝各位有个美好的SSH之旅!

 

来源: lifehacker

The End

发布于2011-03-24, 本文版权属于果壳网(guokr.com),禁止转载。如有需要,请联系果壳

举报这篇文章

小杨

软件工程师

pic