我知道不建议这样做,但是否可以将用户密码传递给 scp?
我想通过 scp 复制一个文件作为批处理作业的一部分,而接收服务器当然需要密码,不,我不能轻易将其更改为基于 key 的身份验证。
最佳答案
使用 sshpass :
sshpass -p "password" scp -r user@example.com:/some/remote/path /some/local/path
所以密码不会显示在 bash 历史记录中
sshpass -f "/path/to/passwordfile" scp -r user@example.com:/some/remote/path /some/local/path
以上将远程主机的路径内容复制到本地。
安装:
- ubuntu/debian
apt install sshpass
- centos/fedora
yum install sshpass
- 带有 macports 的 mac
端口安装 sshpass
- mac w/brew
brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
关于linux - 如何将密码传递给scp?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50096/