shell指令碼登入sftp

2021-07-29 20:48:44 字數 763 閱讀 5711

sftp不能像ftp一樣直接使用賬號/密碼登入(ftp ip位址; user 賬戶/密碼),需要互動式輸入登入密碼。在shell中可以使用expect 傳入密碼。

sftp $rad.put $bsf_user@$bsf_ip

expect

"(yes/no)?"

}

也可以使用 

ssh-keygen -t rsa 生成公私鑰對,將公鑰放到sftp伺服器的.ssh目錄繼而免密登入。

但是如果shell指令碼中有邏輯操作則會報錯,用 《也沒用。這個時候可以使用 sftp -b(通過指定指令碼,呼叫指令碼命令,而不是在shell命令列輸入命令),將命令寫入檔案,再執行。

bsf_ip="172.16.67.23"

bsf_user="send"

bsf_path=/tw/sjzf/sichuan/data/$/day

file_path=$/prov_data/sichuan/day/$

for loop in 1 2 3 4 5 6

dorad=$random

#生成傳送的.put檔案

echo "get $bsf_path/i_10000_$_sc000$_00_001.dat $file_path" >> $.put

sftp -b $rad.put $bsf_user@$bsf_ip

rm -f $rad.put

done

bye

Shell 自動登入指令碼

配置檔案最終轉化成了陣列,相關資訊與 強耦合。需要的可以根據自己喜好修改配置檔案格式和 users wangjia bin ssh conf server.conf id desc username outsite ip insite ip connect type key path passwor...

shell指令碼 ftp上傳和sftp上傳

使用shell指令碼,上傳檔案到指定ftp伺服器或者sftp伺服器,如下 注意 第二個eof,必須是頂格寫,在一行的最開始位置,之前不可有空格,否則會報錯 核心 如下 eof 中,cd命令是操作遠端機子上的,ftp或者sftp lcd是操作,本地機子上的命令 ftp伺服器 開發 sftp host ...

批量建立獨立sftp使用者的shell指令碼

我的目的是滿足每乙個使用者只能訪問它自己的目錄下的upload資料夾,不能離開自己的目錄 因為我只要乙個組,因此把使用者組在 裡寫死了,這個組叫sftpusers 手動建立一下 如果需要批量建立不同組使用者,修改一下即可 groupadd sftpusers建立檔案1.sh 內容為 bin bash...