win 如何在Windows上建立ssh服务器 作者:许腾

如何在Windows上建立ssh服务器

作者:许腾

日期:2010/9/16

1.   ssh简介以及本例的应用场景

①   ssh的简介

SSH是一个用来替代TELNET、FTP以及R命令的工具包,主要是想解决口令在网上明文传输的问题。为了系统安全和用户自身的权益,推广SSH是必要的。 SSH是英文SecureShell的简写形式。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。

②   本例的应用场景

    用户在client(Linux)上通过ssh远程执行server(Windows)上的命令,比如c:\test.bat

    注:Linux版自带ssh Server且默认启动,具体设置方法请参见google。

 

2.   ssh服务器的安装(Windows)

ssh服务器软件有许多中,我们这里使用的是免费的freeSSHd。

1. 首先从官方站点下载软件并安装(http://www.freesshd.com/在http://www.freesshd.com/?ctt=download 可以下载到freeSSHd,目前最新版是1.2.1,另外上面还有一个freeUserImport,这是个向freeSSHd导入用户的小工具,一起下载下来

2. 安装.直接执行freeSSHd.exe就可以进行安装了(用户一定要有管理员权限),安装过程中freeSSHd会问你

Private keys should be created. Should I do it now?    这是问你是否需要现在创建私钥,回答是

Do you want to run FreeSSHd as a system service?    这是问你是否希望把freeSSHd作为系统服务启动,回答 是

之后就安装完成了

3. 导入用户:  执行freeUserImport,一路Next即可,只是要注意在设置freeSSHd User Options的时候记得选中Shell

4. 设置服务: 默认情况下,SSH服务器的端口号是22,如果需要修改就在任务栏右下角的freeSSHd的右键菜单里选择Setting,在弹出对话框的SSH页中修改Port为你想要的端口号就可以了


 3. 客户端的设置(Linux)

由于我们的客户端采用的是Linux,所以不用安装客户端软件,系统自带的就有。

我们需要在Linux上创建一个共有和私有的密钥对,私有密钥放到客户端(Linux)上,共有密钥放到服务器端(Windows)上。在Linux上通过ssh-keygen命令来创建。

[root@localhost ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): [直接回车]
Enter passphrase (empty for no passphrase): [直接回车]
Enter same passphrase again: [直接回车]
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
4d:dd:48:af:76:c2:ba:a8:bc:20:f3:28:1d:6a:28:53




其中,/root/.ssh/id_rsa为私有密钥,/root/.ssh/id_rsa.pub为共有的密钥。

此时,需要把共有密钥放到服务器端(Windows)进行保存,以便于服务器端进行安全检查。

我们通过认证界面找到存放共有密钥的地址(Public keyfolder)。

如上图所示,然后在c:\Program Files\freeSSHd目录下创建以登录用户名为名字的文本文件,此处举例为xut文件。并将/root/.ssh/id_rsa.pub文件中的内容拷贝到c:\Program Files\freeSSHd\xut文件中。

至此,客户端和服务器端的密钥设置已经完成,可以通过如下命令进行远程的命令执行。

ssh xut@172.28.xx.xxx "c:\test.bat"

这条命令将执行服务器端的C盘下的test.bat文件,并把结果返回,整个操作不需输入密码。

 

4.   ssh客户端的设置(Windows)

由于Windows不附带ssh的客户端和服务器端,我们这里找一个免费的客户端软件PuTTY。

PuttY主页:http://www.chiark.greenend.org.uk/~sgtatham/putty/

各种客户端的比较:http://en.wikipedia.org/wiki/Comparison_of_SSH_clients

在Putty主页,我们下载putty.zip(含除了PuTTYtel以外的所有文件),然后解压会发现一个叫plink.exe的文件,这就是我们的ssh客户端命令行软件。

我们首先要成一个共有和私有的密钥对,使用putty.zip中附带的PUTTYGEN.exe生成。

启动PUTTYGEN.exe后可以见到下图界面,点击[Generate]即可生成所需密钥对。

注意:由于是采用随机算法生成,需要不停地在对话框上移动鼠标进度条才会增加,否则将保持不变。

密钥生成完毕后,可以把私有密钥进行保存,为了登录简单起见不对私钥进行加密,提示没有passphrase选择忽略即可。假设我们这里把私钥保存为pri_key.ppk

我们把公钥放在freeSSHd端(ssh服务器端)进行保存,具体保存方法参见【ssh客户端的设置(Linux)】。

在Windows客户端,执行如下命令进行ssh连接,并不需要输入密码即可通过密钥进行自动认证。

plink -i pri_key.ppkxut@172.28.xx.xxxc:\test.bat

(此时将执行服务器端的c:\test.bat脚本。)

注:第一次连接时将出现“The server's host keyis not cached in the registry… ”提示,我们选择确定就可以了,以后就不会再出现了。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值