1. 程式人生 > >expect以及rsync實現遠端連線自動推送密碼

expect以及rsync實現遠端連線自動推送密碼

首先說下用expect實現遠端連線自動推送密碼:

有的時候,我們ssh登陸遠端機器,或者scp從遠端機器上拷貝檔案,都要手動輸入遠端機器的 密碼,如果我們的指令碼要自動指定這些命令,如何實現自動推送密碼?

這就要用到except和spawn

這裡我用到了兩個檔案

1. 檔案1: upload_to_sohu.exp

#/bin/bash/expect  #特定標識

#先預定義一些變數,比如遠端機器的使用者名稱,密碼,ip,檔案路徑
set user your_username
set passwd your_password
set ipaddr 10.134.122.122
set filepath /search/wenwen_data/denglinjie/

set filename [lindex $argv 0]   #從輸入引數中讀取要拷貝的檔名

spawn /usr/bin/scp 
[email protected]
$ipaddr:$filepath$filename . #執行拷貝,其實就是在scp命令的前面加了spawn, 從而進入互動模式 set timeout 100 #設定超時 expect "*password:" #定義當伺服器返回*password:模式的字串時 send "$passwd\n" #就傳送密碼到伺服器,注意最後的換行符是必須的 expect eof

2. 檔案2:upload_to_sohu.sh

#!/bin/bash
expect upload_to_sohu.exp testfile

接下來執行指令碼

#sh  upload_to_sohu.sh

就可以將遠端機器上的檔案拷貝到本地

再說下用rsync連線遠端rsync伺服器的時候實現自動輸入密碼的方法

#!/bin/bash
rsync -avz --progress --password-file=passwd testfile [email protected]::soha
其中:--password-file指定密碼從當前目錄的passwd檔案中讀取


這就本地的testfile檔案上傳到了遠端的rsync伺服器上

相關推薦

expect以及rsync實現遠端連線自動密碼

首先說下用expect實現遠端連線自動推送密碼:有的時候,我們ssh登陸遠端機器,或者scp從遠端機器上拷貝檔案,都要手動輸入遠端機器的 密碼,如果我們的指令碼要自動指定這些命令,如何實現自動推送密碼?這就要用到except和spawn這裡我用到了兩個檔案1. 檔案1: up

Centos7使用yum安裝MySQL以及如何實現遠端連線

因為MySQL被Oracle收購,目前推薦使用mariadb資料庫 步驟如下: 1)yum install mariadb 2) yum install mariadb-server 3) yum install mariadb-devel    chmod -R 770

利用expect + sftp 實現遠端主機自動登入及下載

利用expect + sftp 實現遠端主機自動登入及下載: (ssh是一樣的) #!/usr/bin/expect -f ## Create by Cyril. ## "Usage:./downFilesFromStation USER PWD RemoteIP SourcePat

IntelliJ IDEA實現遠端連線linux,並上傳檔案到linux伺服器(SSH會話功能和SFTP功能)

注意: eclipse的SSH會話功能和SFTP功能這裡不會說 點選以下連結可檢視   eclipse的SSH會話功能和SFTP功能 而IntelliJ IDEA(以下簡稱為IDEA)這麼強大的開發工具自然也有該功能,這篇部落格就介紹一下IDEA的SSH會話功能

mysql實現遠端連線方法

實現遠端連線(授權法) 將host欄位的值改為%就表示在任何客戶端機器上能以root使用者登入到mysql伺服器,建議在開發時設為%。 update user set host = ’%’ where user = ’root’; 將許可權改為ALL PRIVILEGES mys

Linux學習之路:第二章配置網路IP,實現遠端連線(上)

備註:屬於個人分享,文章如有問題請留言,謝謝! 第二章配置網路IP,實現遠端連線 1、輸入使用者和密碼 輸入密碼的時候是不會顯示的 如何檢視Linux系統是32位還是64位,X86是32位,X86_64是64位                  命令: unam

MySQL通過Navicat實現遠端連線的過程 學習記錄

1.首先使用localhost登入到想要進行遠端連線的資料庫 2.開啟阿里雲伺服器上安裝的windows系統,以管理員許可權開啟命令提示視窗,輸入如下命令: mysql> grant all privileges on *.* to 'root'@'%' ident

Oracle 11g 安裝以及通過plsql遠端連線oracle

【摘要】       因為專案中涉及到oracle巡檢,為了驗證客戶提供的oracle巡檢語句,本人在虛擬機器(win10)搭建了一臺oracle(11g)資料庫,並同PLSQL Developer連線oracle,具體操作步驟如下: 一、oracle11g安裝 1、大

利用Shell指令碼實現遠端MySQL自動查詢

下面這個指令碼是一個簡單用來執行遠端資料庫查詢的命令,相信大家都能看得懂,這對於有些需要每天自動檢查資料庫或是執行某些語句的兄弟,是很有幫助的,只要稍加修改就可以 #!/bin/shHOST=192.168.5.40USER=abcPASS=123456QUERY=`mysql -h$HOST -u$USE

MySQL通過Navicat實現遠端連線的過程

直接使用Navicat通過IP連線會報各種錯誤,例如:Error 1130: Host '192.168.1.80' is not allowed to connect to this MySQL server。 經過個人驗證,得到解決方法,如下: 授權法: 1.首先使用localhos

Linux下安裝Redis並實現遠端連線,Redis Desktop Manager視覺化連線

1.下載redis redis不是安裝包,例如tomcat,mysql等都是安裝包直接解壓就可以使用,redis是原始檔,需要用編譯後才可以使用。 2.使用xftp把壓縮包拖入到root/redis/資料夾下,並解壓 tar -zxvf redis-5.0.0.

二步實現 遠端連線 阿里雲SqlServer 2012 資料庫伺服器

前言:在使用 阿里雲 上的一些產品時,遇到不少坑。                   安裝IIS 時,遇到 因買的配置過低,虛擬記憶體不足,而導致 IIS 總是安裝失敗;    

docker部署mysql 實現遠端連線

1.docker search mysql   檢視mysql版本 2.docker pull mysql  要選擇starts最高的那個name 進行下載 3.docker images  檢視下載好的映象 4.啟動mysql例項    dock

Java實現遠端連線Linux並執行命令

需要的jar包 <dependency> <groupId>ch.ethz.ganymed</groupId> <artifactId>ganymed-ssh2</art

jmeter測試介面,跟jenkins整合實現自動郵件報告

jmeter我之前沒用過,後來學習測試api,發現很方便,因而做一個記錄。 在mac上安裝jmeter,首先需要在官網下載安裝外掛,然後配置環境,為了實現跟jenkins整合,也下載了ant。環境搭建好以後,應該是這樣的狀態。 export ANDROID_HOME=/U

在Ubantu18.04上開啟ssh服務,實現遠端連線

我們的伺服器,或者說我們在虛擬機器上安裝的ubantu,每次進出虛擬機器是不是很不方便,下面我們來學習一下怎麼在ubantu上開啟ssh服務,然後實現遠端的ssh連結。 環境: 虛擬機器下的:Ubantu18.04 遠端連線工具:xshell 方法: 1.更新源列表

PLSQL developer+instantclient_11_2實現遠端連線Oracle資料庫

1、 下載PLSQL developer、instantclient_11_2, 下載地址:https://pan.baidu.com/s/1_MjmIT4nUzsQ7Hi8MCrs1A, 備註:此安裝包包含plsql(64位)和instantclient

阿里雲伺服器安裝mysql,如何實現遠端連線

     我們正常的連線步驟可以按照我的另一篇關於centos系統實現遠端連線mysql部落格進行設定:附上鍊接:http://blog.csdn.net/sunyinggang/article/details/78761665但是這樣無論如何設定都不會成功,不是我教程的問題

實現遠端連線Mysql資料庫的簡便方法

前提: 你需要安裝了phpmyadmin,並且可以登入。 操作方式: 登入 phpmyadmin,建立新使用者,任意主機許可權,全部許可權,就 ok 了,超級簡單。 P.S. 如果依然無法

Redis 3.2實現遠端連線的幾點注意事項

安裝了Redis之後,想實現遠端訪問,卻怎麼也訪問不了,經過不懈努力終於實現了,記錄一下給需要的小夥伴參考。 一、找到配置檔案redis.conf,做以下操作 1. 註釋掉bind 127.0.0.1。 2. 修改protected-mode yes為