安装Cygwin
1.Installfrom Internet,这种模式直接从Internet安装,适合网速较快的情况;
2.downloadWithout Installing,这种模式只从网上下载Cygwin的组件包,但不安装;
3.Installfrom Local Directory,这种模式与上面第二种模式对应,当你的Cygwin组件包已经下载到本地,则可以使用此模式从本地安装Cygwin。
二、从上述三种模式中选择适合的安装模式,这里我们选择第一种安装模式,Cygwin组件下载完毕后会直接保存到本地,以便能够再次安装。选中后,点击“下一步”,如图所示:
三、这一步选择Cygwin的安装目录,默认安装位置是c:cygwin,你自己也可以选择安装目录,这里我选择D盘中,然后点击“下一步”,如图所示:
<a href="http://s3.51cto.com/wyfs02/M00/5D/E9/wKioL1UnanTyhF_JAAFa2cf1ZqM090.jpg" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M00/5D/E9/wKioL1Una2ez5VQlAAFJUPtDBJc904.jpg" target="_blank"></a>
四、安装过程中从网上下载的Cygwin组件包的保存位置,是你上一步操作选择的目录,点击“下一步”,如图所示:
<a href="http://s3.51cto.com/wyfs02/M00/5D/ED/wKiom1UnaoHCrKO1AAFPvbTHhp4638.jpg" target="_blank"></a>
1.Direct Connection指定 Internet 连接;
2.如果你有代理服务器,选择“Use Internet Explorer ProxySettings”;
3.通过浏览器选项获得服务器名,选择使用代理,输入代理服务器的主机名和端口号。
五、通过Direct Connection连接,选择“下一步”,如图所示:
<a href="http://s3.51cto.com/wyfs02/M02/5D/E9/wKioL1UnbDzSlvuVAAHHD_Ie2k4210.jpg" target="_blank"></a>
1.Cygwin默认情况下提供了多个下载镜像站点,因为这些站点是义务的镜像,单独一个下载点可能有风险,在其中选择一个下载站点即可(通常情况下它们是可用的,但有时可能因各种原因不可用)。通常情况下,建议选择离你比较近的那个站点。
2.指定一个站点,例如输入http://www.cygwin.cn,在User URL中填写这个地址,然后点add,就能将这个地址加到上面的镜像列表中,然后可以选择这个镜像进行安装。
六、通过http://mirrors.163.com用户连接,点击“下一步”,如图所示:
binutils组件
<a href="http://s3.51cto.com/wyfs02/M02/5D/EE/wKiom1UncBGB2iqcAAMQ3bDIS2Q664.jpg" target="_blank"></a>
gcc组件
以后要安装新的安装包,或是更新,还是通过这个过程,运行setup.exe选择安装包即可
安装sftp
一、运行Cygwin 的安装程序,安装OpenSSH 和cygrunsrv,和上面安装一样,这个可以和上面的一起安装节省时间
<a href="http://s3.51cto.com/wyfs02/M02/5D/F0/wKiom1Unhk-TMXJbAAHC0AXCxZQ619.jpg" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M00/5D/EB/wKioL1Unh5qzxOlmAAFaICwscfY884.jpg" target="_blank"></a>
二、安装好之后,添加一个环境变量:变量名为:CYGWIN,变量值为:ntsec tty;或者不添加环境变量,而是直接修改cygwin.bat文件,在@echo off之后加入“set CYGWIN=ntsec tty”即可。
<a href="http://s3.51cto.com/wyfs02/M01/5D/EB/wKioL1UniYDggT9TAAHE-LOnqxU186.jpg" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M01/5D/F0/wKiom1UniDWha_SMAAHj86p6UbY208.jpg" target="_blank"></a>
三、进入Cygwin,运行ssh-host-config -y;这将会把sshd装为Windows服务,结束后会提示你设置密码()
不断提示/var目录下的一些目录访问属性不对,用chmod命令改却没有反应,是因为磁盘格式为FAT32的话,Cygwin的chmod将没有作用。到Dos下用convert命令改:convert D: /FS:NTFS转换完成后,更改对应文件夹属性,
四、启动和停止sshd服务
可通过以下两个命令:
启动服务:cygrunsrv --start sshd
六、配置不用输入密码的信任公钥环境
①、新建用户
直接在/home下处新建一个用户名的目录,然后直接设置密码
<a href="http://s3.51cto.com/wyfs02/M00/6B/60/wKioL1UsfJeyCFswAACWm1UUyyw710.jpg" target="_blank"></a>
确认家目录、 .ssh目录权限为755
<a href="http://s3.51cto.com/wyfs02/M01/6B/62/wKioL1Ushffg_hNBAADCgXA7Be4315.jpg" target="_blank"></a>
②、生成密钥对
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<code>Administrator@pengyl-PC ~</code>
<code>$ </code><code>cd</code> <code>/home/test/</code><code>.</code><code>ssh</code><code>/</code>
<code>Administrator@pengyl-PC </code><code>/home/test/</code><code>.</code><code>ssh</code>
<code>$ </code><code>ssh</code><code>-keygen -t rsa ;t </code><code>type</code><code>指定要创建的密钥类型。可以使用:</code><code>"rsa1"</code><code>(SSH-1) </code><code>"rsa"</code><code>(SSH-2) </code><code>"dsa"</code><code>(SSH-2);如果没有指定则默认生成用于SSH-2的RSA密钥</code>
<code>Generating public</code><code>/private</code> <code>rsa key pair.</code>
<code>Enter </code><code>file</code> <code>in</code> <code>which</code> <code>to save the key (</code><code>/home/Administrator/</code><code>.</code><code>ssh</code><code>/id_rsa</code><code>):</code>
<code># 按回车保存为: //.ssh/id_rsa,即当前用户的私钥</code>
<code>Enter passphrase (empty </code><code>for</code> <code>no passphrase):</code>
<code># 按回车,表示读取密钥时不需要密钥的密码</code>
<code>Enter same passphrase again:</code>
<code>Your identification has been saved </code><code>in</code> <code>/home/Administrator/</code><code>.</code><code>ssh</code><code>/id_rsa</code><code>.</code>
<code># 私钥保存信息</code>
<code>Your public key has been saved </code><code>in</code> <code>/home/Administrator/</code><code>.</code><code>ssh</code><code>/id_rsa</code><code>.pub.</code>
<code># 公钥保存信息</code>
<code>The key fingerprint is:</code>
<code>SHA256:Ul4woRXrab8DtADgpZnNiia2CeXoTO5XnoSU8i9h2X0 Administrator@pengyl-PC</code>
<code># 密钥指纹</code>
<code>The key's randomart image is:</code>
<code>+---[RSA 2048]----+</code>
<code>| ... *o |</code>
<code>| . B. o + |</code>
<code>| * +.. o . |</code>
<code>| * + .+.o |</code>
<code>|=+* + ooS. |</code>
<code>|X o* + +oE |</code>
<code>| *. * . ... |</code>
<code>|. o + .. |</code>
<code>| .. . .. |</code>
<code>+----[SHA256]-----+</code>
<code>$</code>
③、将生成的密钥id_rsa.pub复制到用户目录的.ssh下,并重命名为authorized_keys,确认该文件的权限是644,
<a href="http://s3.51cto.com/wyfs02/M00/6B/66/wKiom1UsikKyAEyTAAD6yyVv6Ec670.jpg" target="_blank"></a>
如果有多个客户端,依次将客户端公钥附加到服务器的authorized_keys文件内即可,
<code>cat</code> <code>/tmp/id_rsa</code><code>.pub >> authorized_keys</code>
④、将生成的密钥id_rsa导入到要连接ftp的客户端,连接ftp服务
如通过xshell生成的密钥,工具栏里找到私钥,然后导入需要连接ftp服务的地方
<a href="http://s3.51cto.com/wyfs02/M00/71/5E/wKioL1XNLiGwMyxGAAGCwp30dvE618.jpg" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M00/71/61/wKiom1XNLBzixd2rAAEOzOhJddg268.jpg" target="_blank"></a>
注意事项
权限:如果配置完对等信任公钥,仍提示输入密码或者访问拒绝,则需要查看服务器的目录权限是否正确,家目录权限755,.ssh目录权限是755,authorized_keys文件权限是644
备份:authorized_keys不能出现空格等不是公钥的信息,否则公钥文件就会失效,每次附加新公钥时,养成变更前备份的好习惯
本文转自 justin_peng 51CTO博客,原文链接:http://blog.51cto.com/ityunwei2017/1632251,如需转载请自行联系原作者