sftp可以解決乙個伺服器與另外乙個伺服器的檔案傳輸
首先sftp接續之前需要生成公鑰和私鑰,公鑰和私鑰是一種不對稱的加密方式。
1.通過【ssh-keygen -t rsa】 : 生成私鑰和公鑰。其中【-t rsa】是rsa的加密方式。
2.按回車鍵繼續往下執行
3.輸入y,進行覆蓋,然後輸入密碼和確認密碼
4.然後在/root/.ssh的路徑下回生成連個檔案。id_rsa(私鑰)和id_rsa.pub(公鑰)。
id_rsa:本機生成的私鑰複製到【sftp -oidentityfile】進行私鑰登入的路徑(/share/temp)下並修改名字(id_rsa)
id_rsa.pub:從本機複製到另一台目標伺服器的/root/.ssh/路徑下,並把檔案改名為authorized_key
5.執行 【sftp -oidentityfile=/share/temp/id_rsa 使用者名稱@被遠端的伺服器的ip】命令,該命令意味著通過私鑰進行sftp登入。
# sftp login
/usr/bin/expect -c "
set timeout -1
spawn -oidentityfile=/share/temp/id_rsa 使用者名稱@被遠端的伺服器的ip
expect
\"enter passphrase for key*\"
}expect \"sftp>\"
send \"cd $\r\"
send \"get $*.csv\r\"
# logout
send \"exit\r\"
expect eof
" > $"sftp.log" 2> $"sftperr.log"
shell指令碼登入sftp
sftp不能像ftp一樣直接使用賬號 密碼登入 ftp ip位址 user 賬戶 密碼 需要互動式輸入登入密碼。在shell中可以使用expect 傳入密碼。sftp rad.put bsf user bsf ip expect yes no 也可以使用 ssh keygen t rsa 生成公私鑰...
shell學習2 互動模式和非互動模式
shell的模式可分為互動模式和非互動模式。互動模式,就是需要和使用者互動才可以將程式執行完畢。如下 1 bin bash 2 3 cat 4 7 echo n input number of lines 8 read line 9 limit 6 10 11 if limit gt line 12...
Shell命令 開啟sftp日誌
vim etc ssh sshd config 查詢以下命令,行尾加上 l info f auth subsystem sftp usr lib64 ssh sftp server l info f auth l和 f分別指定日誌級別和日誌設施 usr lib openssh sftp server...