Cygwin + OpenSSH FOR Windows的安装配置

Cygwin是一款世界著名软件,它可将Linux下的自由软件移植到Windows系统上来应用,了解和掌握这个软件,将使您又多了许多有益的选择,并带您到一个更广阔的天空下翱翔,这对于您的学习和工做将起到肯定无疑的推进做用。下面我用本身总结的一个例子,带你们进入这个世界。
    在windows操做系统中,使用Cygwin + OpenSSH开源软件来做为远程链接的安全工具,是一个很是好的方法,获得许多网管人员的青睐。然而要想顺利安装配置好这套软件,对于初学者来讲,是有必定难度的。为了使同道们少走弯路,特将本人摸索的经验陈列于此,以供须要者参考。建议在安装配置这套软件以前,最好要初步掌握一些Linux终端操做技能及其技术概念。
如下所述是在Windows XP系统中实践完成,其它Windows系统可参照此文实施。
1、安装Cygwin + OpenSSH 
首先打开http://Cygwin.com网页,点击以下连接:

Install or updatehtml

now!windows


将会下载一个安装Cygwin的setup.exe文件,而后在欲安装Cygwin + OpenSSH软件的磁盘上建立Cygwin目录,在此咱们假定为:C:\Cygwin,运行setup.exe后打开图一:   
            



                                图一
图一主要提供关于Cygwin软件安装的一些信息,点击下一步后打开图二:


图二安全

图二提供了三个选项:
第一选项:从Internet上下载并安装所需软件。
第二选项:从Internet上下载所需软件安装包到本地磁盘。
第三选项:从本地磁盘安装包的目录中安装所需软件。
此处选择从Internet上下载并安装所需软件,点击下一步后打开图三:


图三服务器

图三为指定软件安装的目标路径,其它按图上默认的选项选择。点击下一步后打开图四:


图四网络

图四为指定软件安装包的本地存放路径。点击下一步后打开图五:


图五session

图五是选择链接Internet的方式,照图点选Use IE5 Settings,点击下一步后打开图六:


图六ssh

图六是选择下载Cygwin的网站,尽可能选离我国近的网站,以提升安装速度。点下一步打开图七:


图七工具

图七为软件包的选择界面,All所在行是选择所有软件包的位置,其它各行是软件组的选择位置,点击软件组前部的+号,能够打开软件组来选择所属软件项。点击所选软件项的循环箭头,能够选择对相应项目的操做方式,每点一次,该项目的操做方式就变化一次。
针对All及软件组的操做方式有四种选择:即Default、Install、Reinstall和Uninstall,依次表明:默认状态、安装、从新安装和反安装项。
针对软件项的操做方式有两类五种:
第一类:对未安装的软件项有两种选择,即Skip和该软件的版本号,Skip为跳过该软件的安装,显示软件版本号为肯定安装该软件。
第二类:对已安装的软件项有三种选择,即Keep、Reinstall和Uninstall,依次表明:保持现状、从新安装和反安装项。
图八为打开NET软件组的界面


图八学习

图八表示选择网络相关软件,咱们要安装的是OpenSSH,故点击OpenSSH软件项相应的循环箭头,使原来的Skip变为版本号便可,与OpenSSH软件包相关的Cygwin支持软件包会自动配套选中,例以下一行的OpenSSL软件包也就自动选中了。点击下一步打开图九:


图九网站

图九显示安装工做的进度,完成后自动打开图十:


图十

图十中提示将在桌面创建Cygwin控制台图标和在开始菜单中添加Cygwin控制台图标。点击完成按钮结束安装工做。
注意:安装软件时,必须以Administrator用户身份来安装,不然可能出现许多莫名的问题,大概是因为用户权限不够形成的,估计是该软件出于安全考虑而有意设计的。
2、Openssh基本配置
1.增长环境变量
用鼠标右键单击个人电脑 à属性 à高级 à环境变量,
A.在系统变量框中新建变量名为:CYGWIN,变量值为:ntsec tty 的变量。
B.编辑path变量,在原变量值后加上以分号分隔的C:\Cygwin\bin字符串,注意保留原变量的值!
2OpenSSH服务配置
双击Cygwin图标打开控制台,键入:cd /bin转入bin目录,再键入:ssh-host-config -y,执行后系统提示“CYGWIN=” 时输入ntsec tty便可。至此,SSH服务已被加入到Windows的自动启动服务项中了。
从新启动电脑进入普通用户界面,打开Cygwin控制台后,系统会在Cygwin的home目录下生成一个同名目录:youname (此处假设用户名为:youname),用户能够在command控制台上用:
ssh  youname@127.0.0.1

登陆本身的SSH服务器试一试,若能登陆则表示安装配置基本成功,能够进行远程登陆链接,若远程登陆失败,可能的缘由有如下几种:

1. 防火墙限制。在SSH服务器防火墙的例外中添加容许SSH端口经过的条目,SSH服务默认使用的是22号端口。

2. 若是客户端尝试登录服务器时出现ssh: Permission denied的提示,则多是/etc/passwd文件中没有该帐号, 即便你已经经过passwd命令设定了密码. 解决办法是使用命令mkpasswd.exe -l > /etc/passwd,将windows的帐号密码信息从新导入/etc/passwd

3. Win32 error 1062. 

    Sometimes you get a sshd/cygrunsrv service error after trying to run the service.

    cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062: The service has not been started. There can be a couple of causes for this. The following may fix the problem (this is not an option on XP Home).

     Solution 1 :You may have an old or corrupt installation of Cygwin. Try reinstalling. The following may also help:

        cygrunsrv -R sshd

REBOOT (or use the Task Manager to kill all instances of sshd that may be running in the background) run "ssh-host-config -y" again. This seemed to help on a few systems I worked on.

    Solution 2: Open an explorer window and use the "Properties | Security" dialog and explicitly add "Full Control" for the SYSTEM user to the following directories:

        C:/Cygwin C:/Cygwin/var C:/Cygwin/var/log

    

3.启动OpenSSH服务的方法
A.在command控制台上启动:
Net  start  sshd     #启动SSH服务
Net  stop  sshd      #中止SSH服务
B.在Cygwin控制台上启动:
Cygwin  --start  sshd      #启动SSH服务
Cygwin  --stop  sshd       #中止SSH服务
3、Openssh高级配置
提示:A. 修改sshd_config 文件前应先经过Cygwin控制台修改文件属性值,使当前用户具备修改权:
cd /etc                    #转到sshd_config文件所在目录
Chmod 777 sshd_config      #修改文件属性值,使其余用户能够修改该文件
。。。。。                 #而后参照后面介绍的一、二、3条进行操做
Chmod 644 sshd_config      #修改文件属性,使其恢复原来的属性值
B. sshd_config文件被修改后,必须重启SSH服务后改动项才能生效。
1.更改OpenSSH工做端口及协议版本

用写字板打开C:\Cygwin\etc\sshd_config文件,将port 22改成port 10022或其它本身想改的端口号,最好选1025 -- 65535之间其它软件未用的端口号。再将#Protocol 2,1 改成Protocol 2,使当前的SSH服务只支持2.0协议版本。此两项更改的目的是为了加强系统的安全性。

2.禁止超级用户远程登陆OpenSSH

用写字板打开 C:\Cygwin\etc\sshd_config 文件,将 #PermitRootLogin yes 修改成PermitRootLogin no便可。若系统须要超级用户登陆,则没必要修改此项目。

3.仅使用非对称密钥安全登陆

A用写字板打开 C:\Cygwin\etc\sshd_config 文件,将#PasswordAuthentication yes 修改成 PasswordAuthentication no 。

B.在Cygwin控制台:

cd /home/youname      #转到当前用户目录

mkdir .ssh            #创建 .ssh隐含目录

C.将制做好的authorized_keys公钥文件复制到c:\Cygwin\home\youname\.ssh目录下

D.在Cygwin控制台:

cd /home/youname/.ssh    #转到 .ssh隐含目录

chmod 700 ~/.ssh (修改.ssh目录的权限,不然不生效)

chmod 600 authorized_keys   #修改文件属性使之生效(注:属性值大于600时该文件无效)
此后用户远程访问ssh服务器时,将不能凭用户密码登陆,只能凭借对应的私钥来登陆,排除了密码暴力破解的可能,提升了网络访问的安全性。
4.公钥对的生成
因为习惯了用putty做为登陆ssh服务器的工具,故在此仅介绍用putty软件生成密钥对的方法。
A能够从http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html处,选择putty.zip下载,该软件为自由软件,可无偿使用,当前版本为V 0.60。
B解压后运行puttygen.exe , 打开图十一:


图十一

如图选择SSH-2 RSA和1024密钥长度,点击Generate按钮,打开图十二:


图十二

将鼠标在电脑屏幕上随机移动,密钥生成进度条随鼠标指针移动而前进,直至完成并呈现图十三:


图十三

图上部框中显示的是公钥内容,用户能够在key passphrase框及confirm passphrase框中输入密钥密码,以使密钥丢失后多一道安全防御。固然若是为了方便也能够不设密钥密码。
    将图十三上部框中的公钥内容复制到public_key.ppk文件中,并保存为纯文本文件(不要点击“Save public key”按钮直接保存),而后将该文件上传到服务器并追加到~/.ssh/authorized_keys. 点击“Save private key”按钮保存私钥文件,该文件默认以 .ppk扩展名。请妥善保管好私钥文件,从此访问SSH服务器就要凭此私钥登陆了。
4、卸载Cygwin
卸载Cygwin与安装Cygwin的过程差很少,也是先运行setup.exe,与安装时同样操做,直到出现图七所示界面时,将All设置为UnInstall后再点击下一步,系统将自动完成Cygwin软件的卸载,Cygwin的安装目录须要手工删除,注册表内与Cygwin相关的项目也要手动删除,如若删除不尽,可能会影响到之后Cygwin的顺利安装和配置,切记!
5、PUTTY软件的简单应用
运行Putty.exe打开图十四:


图十四

在Host Name框中输入SSH服务器的IP地址,Port框中输入OpenSSH服务的端口号,而后点开Connection à SSH à Auth打开图十五:


图十五

按图中选择相应项,在private key file for authentication框中填入本身私钥的保存路径,再回到图十四,在Saved sessions框中输入一个相关名字,再点击Save按钮将当前会话以相关命名保存起来,以供未来重复使用该会话。使用时选中会话,点击Load按钮装入,再点击Open按钮开始链接SSH服务器,链接界面弹出后,按提示输入用户名、私钥密码,验证经过后便可登陆服务器了。
Putty还能够为其它软件联网创建链接隧道
相关文章
相关标签/搜索