Windows 下安装 SSH 服务
http://codingdao.com/wp/post/win-install-ssh/
?
?
通过Cygwin的安装程序安装完OpenSSH后,将系统环境变量CYGWIN置为ntsec(默认是tty),建议Cygwin使用Windows的安全规则。
将sshd所在目录加入Cygwin Shell环境的PATH变量中:在登录Shell的全局初始化脚本/etc/profile里的PATH中加入路径即可,我这里是/usr/sbin,因为Cygwin默认安装后只向PATH中加入bin类型的路径,而不加入sbin类型的路径。
Cygwin Shell下运行ssh-host-config,配置时有提示问题,在提示问题:"CYGWIN="时,回答ntsec。
ssh-host-config运行可能会失败,原因是:/、/usr/bin、/usr/lib等Unix目录必须以system方式挂载(默认是以user方式挂载),执行类似下列命令即可以system方式挂载这些目录:
以system方式挂载目录后,会在注册表HKLM\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2键下保存这些Unix目录和Windows路径的对应关系。
更新:
我后来在使用新版本的Cygwin环境(Cygwin网络安装程序 2.674)和sshd(OpenSSH 5.3p1-1)时,没有出现这个问题。另外安装完这个版本的Cygwin之后,注册表中保存Cygwin设置的子键名也变成了:HKLM\SOFTWARE\Cygwin。
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命令,如下:
空密码用户的登录
如果系统上的用户是空密码,无论是Windows还是Linux版的OpenSSH,默认配置下是不允许使用SSH客户端登录的,这是出于安全性的考虑。如果希望空密码的用户也能登录,需要更改sshd的配置文件(通常是sshd_config),设置选项:PermitEmptyPasswords yes。
不使用密码进行登录
margin-top: 0px; mar