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/ #拷貝文件