需求:
scp的时候不需要输入密码。
解决方法:
首先,安装 sshpass:
sudo apt-get install sshpass
sshpass的使用比较简单,先看一下帮助文档:
nfer@nfer-VirtualBox:~$ sshpass
Usage: sshpass [-f|-d|-p|-e] [-hV] command parameters
-f filename Take password to use from file
-d number Use number as file descriptor for getting password
-p password Provide password as argument (security unwise)
-e Password is passed as env-var "SSHPASS"
With no parameters - password will be taken from stdin
-h Show help (this screen)
-V Print version information
At most one of -f, -d, -p or -e should be used
其中-p是直接指定密码,-f是从文件中读取密码。
然后示例命令如下:
sshpass -p 123456 scp -p build.sh user@`net lookup build-pc`:workspace/temp
主机名是build-pc, 账号是user, 密码是 123456,
`net lookup build-pc` 这个可以替换成 ip
总结:
使用sshpass的好处就是方便直接,无需了解公私钥、加密认证等相关知识,简单易懂;
但是使用sshpass最大的坏处就是再使用时会涉及到明文密码,大大降低了安全性。
end