OpenSSH实现Windows和Linux文件安全传输

考虑到windows和linux系统间的文件实现安全传输,就准备采用ssh来实现,OpenSSH有windows和linux的实现并免费,当然要用它了。

本例中使用windows(ip:192.168.1.25)来做客户端,linux(ip:192.168.1.26)来做服务器。在linux中安装ssh服务,这里就不讲了。

1.下载OpenSSH : http://sshwindows.sourceforge.net/ 并安装。默认安装目录为C:\PRogram Files\OpenSSH

2.修改/home(根目录),在注册表中修改

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/home]

“native”=”C:\Program Files\OpenSSH\\home”

3.在C:\Program Files\OpenSSH 下建立目录 home 和username

cd C:\Program Files\OpenSSH

mkdir home

mkdir home\Administrator

mkdir home\Administrator\.ssh

4.生成密钥

cd C:\Program Files\OpenSSH\bin

ssh-keygen.exe -d

在C:\Program Files\OpenSSH\home\Administrator\.ssh目录生成两个文件

id_dsa 和 id_dsa.pub ,后缀.pub的就是公钥

5.拷贝id-dsa.pub到linux服务器上,可以通过winscp来拷贝,是一个很好的windows客户端工具。

6.在linux服务器上执行命令

cat ~/.ssh/id_dsa.pub >> authorized_keys

7.修改sshd配置文件

vi /etc/ssh/sshd_config

#PubkeyAuthentication yes

#AuthorizedKeysFile .ssh/authorized_keys

的注释去掉,采用authorized_keys文件的验证用户身份

8.重启sshd服务

#service sshd restart

9.到windows下采用scp 和ssh就可以登陆并拷贝文件了,不需要在输入密码,实现了文件的安全传输。

>ssh.exe [email protected] #登陆到linux服务器了

>scp.exe somefile [email protected]:/root/ #拷贝文件