`

Windows 下安装 SSH 服务

阅读更多

http://codingdao.com/wp/post/win-install-ssh/

 

 

 


我想用SSH远程访问Windows系统,先是在SourceForge上找到了Linux下标准的OpenSSH (sshd) 的Windows移植版,不过发现难配置,原因是我装了MSYS/MinGW和Cygwin这2个Unix工具集,不知OpenSSH的配置和哪个冲突,导致无法启动sshd服务程序。

几款Windows下的SSH服务软件  返回页首

  • KpyM Telnet/SSH Server

    采用BSD许可证的开源软件。支持SSH、Telnet、SFTP协议。

  • MobaSSH

    有Home和Professional 2个版本,后者需付费注册。支持SSH、SFTP、SCP协议。

  • WinSSHD

    30天评估试用期,Personal版是免费的。支持SSH、VNC、SFTP、SCP协议。

我试用了KpyM的SSH服务软件,安装、配置、运行很简单上手,不过还是想用OpenSSH,毕竟在Linux下用它,很脸熟嘛,帮助、说明也多。然后在这里发现原来Cygwin工具集中就包含OpenSSH,(-_-^)!

配置Cygwin中的OpenSSH  返回页首

  1. 通过Cygwin的安装程序安装完OpenSSH后,将系统环境变量CYGWIN置为ntsec(默认是tty),建议Cygwin使用Windows的安全规则。

  2. 将sshd所在目录加入Cygwin Shell环境的PATH变量中:在登录Shell的全局初始化脚本/etc/profile里的PATH中加入路径即可,我这里是/usr/sbin,因为Cygwin默认安装后只向PATH中加入bin类型的路径,而不加入sbin类型的路径。

  3. Cygwin Shell下运行ssh-host-config,配置时有提示问题,在提示问题:"CYGWIN="时,回答ntsec

  4. ssh-host-config运行可能会失败,原因是:/、/usr/bin、/usr/lib等Unix目录必须以system方式挂载(默认是以user方式挂载),执行类似下列命令即可以system方式挂载这些目录:

    1 mount -f -s -b "[Windows path to Cygwin]/" "/"

    以system方式挂载目录后,会在注册表HKLM\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2键下保存这些Unix目录和Windows路径的对应关系。

    更新

    我后来在使用新版本的Cygwin环境(Cygwin网络安装程序 2.674)和sshd(OpenSSH 5.3p1-1)时,没有出现这个问题。另外安装完这个版本的Cygwin之后,注册表中保存Cygwin设置的子键名也变成了:HKLM\SOFTWARE\Cygwin

  5. ssh-host-config运行成功后在/etc下生成sshd需要的密钥文件,可以将公钥传递给SSH客户端的使用者,以便做SSH服务器端的身份验证功能。

    另外一种常用的SSH服务器端身份验证的方法是:大多数SSH客户端,比如:PUTTY,在第一次连接未知的SSH服务器端时,会提示服务器端公钥的散列码,称为SSH服务器端的fingerprint。用户通过对比服务器端计算的fingerprint和由SSH客户端提示的fingerprint,来人工判断是否连接的是期望的SSH服务端。

    计算服务器端的fingerprint参考:How to get ssh server fingerprint information。计算fingerprint使用ssh-keygen -lf命令,如下:

    1 # 列出所有密钥文件
    2 $ ls /etc/ssh/*key*
    3 /etc/ssh/ssh_host_dsa_key      /etc/ssh/ssh_host_key.pub
    4 /etc/ssh/ssh_host_dsa_key.pub  /etc/ssh/ssh_host_rsa_key
    5 /etc/ssh/ssh_host_key          /etc/ssh/ssh_host_rsa_key.pub
    6  
    7 # 选择SSH服务器端使用的公钥,这里是ssh_host_rsa_key.pub,对它进行散列值(fingerprint)计算
    8 $ ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
    9 2048 9e:1a:5e:27:16:4d:2a:13:90:2c:64:41:bd:25:fd:35 /etc/ssh/ssh_host_rsa_key.pub
  6. 配置完sshd后,在Windows服务中会增加一个CYGWIN sshd服务,服务的主程序是cygrunsrv.exe,实际上是靠cygrunsrv.exe来启动sshd.exe的。最后可以用net start sshdcygrunsrv -S sshd来启动sshd服务。

SSH使用技巧  返回页首

相关推荐

Global site tag (gtag.js) - Google Analytics