linux下带密码的scp,linux下带密码的scp
from?linux下帶密碼的scp (2014-03-10 12:35:46)
背景: 需要將一臺(tái)機(jī)器的數(shù)據(jù)傳輸?shù)搅硗庖慌_(tái)機(jī)器上,兩臺(tái)機(jī)器沒(méi)有信任關(guān)系,沒(méi)有數(shù)據(jù)源一方?jīng)]有ftp或者h(yuǎn)ttp,無(wú)法進(jìn)行wget 解決方法: 在其中一臺(tái)機(jī)器安裝expect,在程序中寫上密碼等信息 準(zhǔn)備: 需要root權(quán)限 進(jìn)行expect安裝 expect安裝步驟: A. Tcl 安裝 主頁(yè): http://www.tcl.tk 下載地址: http://www.tcl.tk/software/tcltk/downloadnow84.tml
1.下載源碼包
wget http://nchc.dl.sourceforge.net/sourceforge/tcl/tcl8.4.11-src.tar.gz
2.解壓縮源碼包
tar xfvz tcl8.4.11-src.tar.gz
3.安裝配置
cd tcl8.4.11/unix
./configure --prefix=/usr/tcl --enable-shared
make
make install
安裝完畢以后,進(jìn)入tcl源代碼的根目錄,把子目錄unix下面的tclUnixPort.h copy到子目錄generic中。
暫時(shí)不要?jiǎng)h除tcl源代碼,因?yàn)閑xpect的安裝過(guò)程還需要用。
B. expect 安裝 (需Tcl的庫(kù))
主頁(yè): http://expect.nist.gov/
1.下載源碼包
wget http://sourceforge.net/projects/expect/files/Expect/5.45/expect5.45.tar.gz/download
2.解壓縮源碼包
tar xzvf expect5.45.tar.gz
3.安裝配置
cd expect5.45
./configure --prefix=/usr/expect --with-tcl=/usr/tcl/lib --with-tclinclude=../tcl8.4.11/generic
make
make install
ln -s /usr/tcl/bin/expect /usr/expect/bin/expect
expect腳本:
#!/usr/bin/expect
set timeout 10
set host [lindex $argv 0]
set username [lindex $argv 1]
set password [lindex $argv 2]
set src_file [lindex $argv 3]
set dest_file [lindex $argv 4]
spawn scp $src_file $username@$host:$dest_file
expect {
"(yes/no)?"
{
send "yes\n"
expect "*assword:" { send "$password\n"}
}
"*assword:"
{
send "$password\n"
}
}
expect "100%"
expect eof
#!/bin/sh
list_file=$1
src_file=$2
dest_file=$3
cat $list_file | while read line
do
host_ip=`echo $line | awk '{print $1}'`
username=`echo $line | awk '{print $2}'`
password=`echo $line | awk '{print $3}'`
echo "$host_ip"
./expect_scp $host_ip $username $password $src_file $dest_file
done
總結(jié)
以上是生活随笔為你收集整理的linux下带密码的scp,linux下带密码的scp的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 我的扑克牌
- 下一篇: Python | 股票数据可视化