在写本文前,已经参阅N多的相关资料,在ssh安装过程中并不是一路yes或有的yes,而是在读懂安装过程中的提示最重要,现将自己成功实验过程分享。

ps:最好的资料就是按照cygwin  ssh-host-config安装提示进行。

1.安装cygwin,并安装openssl,openssh

2.更改环境变量,加入c:\cygwin64\bin

3.在安装路径下cygwin.bat加入set CYGWIN=binmod ntsec

4.以管理员权限运行cygwin.bat

5.输入ssh-host-config


此处说明Privilege separation在openssh 3.3版本的时候就默认使用,还需要一个sshd的账户,这个账户会在下一步出现,因此在此处我们应该输入:yes


此处需要创建一个sshd账户,因此我们输入:yes


此处将sshd安装成系统服务,因此我们输入:yes


此处让我们输入cygwin的守护进程名,我们输入:ntsec

回车后,看红框中提示:

1)第一条说明在win2003,vista或更高版本的系统中,系统账户没有足够高的权限,我们需要创建一个有权限的账户

2)第二条再次提示在window xp 64,win2003或更高版本系统,系统账户没有权限

3)第三条提示我们需要创建一个有权限的用户,并且此用户具有管理员权限

继续看提示后面的内容脚本会自动创建一个cyg_server的用户,我们就用这个用户,不再用新用户,因此我们输入:no


创建cyg_server用户,因此我们输入:yes

创建cyg_server用户后,会输入该账户密码两次,然后会出现提示,见红框:

1)此处表示我们输入的密码为shxy@#(178

2)用ssh-user-config为每个本地用户创建密钥

3)sshd服务在cyg_server用户下运行

net start sshd 启动sshd服务

6.将本地用户加入,否则会出现permission denied ,即使用户名密码都正确

mkpasswd -l >/etc/passwd 

mkgroup -l >/etc/group(这条不用也可)

7.从异地登陆可以用不同账户密码登陆

ssh -l asusxy 172.16.4.140

ssh -l cyg_win 172.16.4.140


8.从linux无密码登陆到windows

将linux下生成的公钥放到windows系统下的cygwin的/home相应用户下,此处为/home/asusxy/.ssh/authorized_keys,权限为600

登陆如下图:



至此实验全部完成,我们可以通过linux和windows的无密码传输来完成很多工作。

Logo

更多推荐