Cygwin是一个在windows平台上运行的类UNIX模拟环境。
与通过Window下虚拟机软件来安装一个Linux系统不同,Cygwin更加体现着两种操作系统直接互访的功能:Cygwin目录下的所有文件直接就可以在windows下可见操作,而Cygwin运行起来后也可以以Linux方式直接访问windows下的其余任何文件。
Cygwin 安装目录作为虚拟 UNIX 系统的根目录,Cygwin 把安装目录中的子目录映射到 UNIX 目录。Cygwin以单独的卷的形式提供 Windows 驱动器,比如windows下的C盘通过cygwin的虚拟路径便是 /cygwin/c。可以使用这样的虚拟路径启动 Windows 程序。如下图所示,最左边的“文件系统”一列便是windows系统的磁盘,最右侧的“挂载点”便是虚拟 UNIX 系统的的挂载点。
一、下载并安装Cygwin
1. 有网络安装版本和本地安装版本,从官网上下载的是网络安装版本
下载地址 https://cygwin.com/install.html
2. 使用管理员账号,运行安装程序
点击“下一步”
选择安装方式:有3种选择,第1是选择在线安装方式;第2是下载安装包但不安装;第3种是本地安装。如下图所示,这儿选择在线安装
选择cygwin的安装路径,这里使用默认值c:/cygwin64,对于 Install For 选项则选择 “All Users”,如下图所示。
选择一个存储 Cygwin 所需软件包的目录,不要选择前一步中设置的 Cygwin 安装目录,点击“Next”
选择网络连接方式(因为在本台电脑使用了代理上网,且IE浏览器中已设置了代理上网,故选择第二项),点击 “下一步”。
在下图的文本显示框中,随便选择一个站点(setup安装包会一一尝试所有的站点直到能够连接成功),点击 “下一步”。
在下图显示的画面中,选择Linux下大部分软件安装包,可以根据需要选择性安装。
SSH默认是不装的,想使用ssh命令需要将“openssh”和“openssl”软件选上,另外为了使用方便,还推荐安装“Editor Category”下的“vim”安装包。
注意:默认的都是skip,即都不安装。没有装上某些软件包没关系,可以再次打开setup.exe,然后把要用的软件选上。
软件包选项有几种情况,
(1)对未安装的软件包有两种选择
1)Skip:跳过该软件的安装
2)软件号:确定安装该软件
(2)对已安装的软件包有三种选择
1)Keep:已安装,保持现状
2)Reinstall:重新安装
3)Uninstall:卸载
其中,软件包的浏览模式可以通过点击 “View”按钮切换,共有 “Category”,“Full”,“Pending”,“Up To Date”和“Not installed”五种模式,默认是“Category”模式,此处选择“Not installed”浏览模式。
如左下图,在“Search”输入框中 openssh,找到openssh软件包后,点击“Skip”后变成该软件包的版本号,即表明要安装该软件。
之后点击安装确认即可。
二、使用Cygwin配置SSH服务
1. 配置环境变量
新建系统变量:CYGWIN=ntsec tty
在系统变量中Path中追加 cygwin的路径
;C:\cygwin64\bin;
2. 配置SSH服务
点击桌面上面的Cygwin的图标,打开cygwin(注意一定要以管理员身份运行,否则可能不能创建sshd服务)。
也可以执行 Cygwin 目录中的 Cygwin 脚本(比如 C:\cygwin\Cygwin.bat)来打开Cygwin。
输入命令
$ cd /bin
可以发现该目录下出现了SSH的相关配置文件ssh-host-config等(如果没有,那么表明没有安装相关的openssh软件包,可以再次打开setup.exe,然后把openssh软件选上即可)。
输入以下命令,配置ssh主机。
$ ssh-host-config
当屏幕显示关于“privilege seperation”,输入no后回车;
当屏幕显示关于“create local user sshd”,输入yes后回车;
当屏幕显示关于“install sshd as a service”,输入yes后回车;
当屏幕提示“Host configuration finished. Have fun!”时,就说明已经正常的完成了ssh主机的配置。;
输入命令 ,生成密钥,设置ssh无密码登录。
$ ssh-keygen
当询问要filenames 和 pass phrases 的时候都点回车,接受默认的值。
上述命令介绍后输入 cd ~/.ssh 转到.ssh目录,输入 ls –l 应该包含两个文件:id_rsa.pub 和 id_rsa
同时在.ssh目录中中输入命令
$ cat id_rsa.pub >> authorized_keys
3. 启动SSH服务
在Cygwin中启动sshd服务的方法,输入命令:
$ net start sshd
或者,也可以输入命令:
$ cygrunsrv --start sshd
三、使用SSH服务
通过Putty等SSH登陆软件即可。
登陆的用户名为Cygwin软件中 /home路径下的账号。
【参考资料&延伸阅读】
[1] cygwin官网 https://www.cygwin.com/
[2] cygwin官网FAQ https://www.cygwin.com/faq.html
[3] http://blog.csdn.net/souichiro/article/details/6284172
[4] http://blog.csdn.net/wh_19910525/article/details/7433164