Shell-Scp自动输入密码
在LINUX上,我們可以很方便的使用scp命令來遠程拷貝文件,但是由于scp命令本身無保存密碼選項,所以在shell里面無法像samba那樣子保存密碼,比較麻煩,下面介紹下兩種實現方法。
方法一:
ssh公私鑰認證
方法二:
expect(expect - programmed dialogue with interactive programs, Version 5)實現
默認安裝,需要手動安裝expect包:yum -y install? expect? expect-devel
#!/bin/bash
expect -c "
set timeout 1200; ##設置拷貝的時間,根據目錄大小決定,我這里是1200秒。
spawn /usr/bin/scp -r 192.168.0.201:/work/backup/db_back/ /work/dbback/
expect {
\"*yes/no*\" {send \"yes\r\"; exp_continue}
\"*password*\" {send \"123456\r\";} ##遠程IP的密碼。
}
expect eof;"
如果不設置timeout的話會自動退出,所以必須設置,或者用default字段可以設置expect超時或退出時的動作。
轉載于:https://blog.51cto.com/knowledge92/1677865
總結
以上是生活随笔為你收集整理的Shell-Scp自动输入密码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ActiveMQ搭建
- 下一篇: yum之如何手动创建本地yum仓库