SCP无需输入密码传输文件(cygwin和linux都适用)
- November 18th, 2010
- Posted in 学以致用
- Tags: cygwin : scp : ssh
- Write comment
通常我们用scp命令传输文件的时候都需要输入密码确认,所以如果要做一个自动传输文件的脚本,这样显然是不行的。
通过下面的设置,我们可以不需要输入密码,直接获到文件。
假设主机A想要获到主机B的文件
1. 在主机A上执行如下命令来生成配对密钥:
ssh-keygen -t rsa
显示信息如下(按三次回车):
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory ‘/root/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
2. 为 ~/.ssh 目录设置权限(我在cygwin里没有做这一步,貌似也没有什么问题):
chmod -R 755 .ssh
将 .ssh 目录中的 id_rsa.pub 文件复制到 主机B 的 ~/.ssh/ 目录中,并改名为 authorized_keys (如果有多个公钥,可以把其他的公钥添加在这个文件后面),同样给该目录设置权限。
3. 到主机A中执行命令和主机B建立信任,例如(假设主机B名为remoteserver):
scp ~/a.txt remoteserver:/root/b.txt
4. 下面就可以用scp命令不需要密码来获取主机B的文件了

No comments yet.