示範如何設定ssh認證,達到自動登入、傳檔的目的。
我在測試機器上進行一些壓力測試,同時會將測試結果記錄到log檔中。但是為了避免因為機器故障而拿不到log檔來分析結果,或者是想要將log集中到另一部機器上分析,我必須讓log自動上傳到另一部機器上。在Linux系統間傳送檔案,最方便的工具就是scp了。scp支援ssh的加密方式,所以必須預先輸入密碼才能傳送資料。但是在彼此互信的機器上每次都要密碼也很不方便,所以可以事先建立本機的public key,並儲存在對方的機器上,如此就可以不必每次登錄或傳檔都需要輸入密碼了。
產生public key的方式如下:
接下來我就可以在我的壓力測試程式中加上這麼一行程式,讓他在每次完成一段測試後就將log傳送到另一機器上:
scp -B ${files} ${user}@${host}:
[系列文章]
我與BASH的每一天 - [1]利用bc命令來取得數字字串中的特定欄位值
我與BASH的每一天 - [2]直取字串變數中的特定欄位值
我與BASH的每一天 - [3] 利用awk來擷取特定欄位
我與BASH的每一天 - [4] 利用awk來擷取特定欄位-2
我與BASH的每一天 - [5] 利用awk來擷取特定欄位-3
我與BASH的每一天 - [6] 利用cut來擷取特定欄位
我與BASH的每一天 - [7] grep指令的妙用 - 1
我與BASH的每一天 - [8] grep指令的妙用 - 2
我與BASH的每一天 - [9] 正規化表示法 - 1
我與BASH的每一天 - [10] 正規化表示法 - 2
我與BASH的每一天 - [11] 正規化表示法 - 3
我與BASH的每一天 - [12] 正規化表示法 - 4
我與BASH的每一天 - [13] sed - 1
我與BASH的每一天 - [14] sed - 2
我與BASH的每一天 - [15] sed - 3
我與BASH的每一天 - [16] 多條件選擇 - case
我與BASH的每一天 - [17] 建立自動化的暫存檔 - mktemp
我與BASH的每一天 - [18] if 條件判斷的正規化用法
我與BASH的每一天 - [19] 複合式的條件判斷
我與BASH的每一天 - [20] 代表參數位置的特殊變數符號與shift
我與BASH的每一天 - [21] 特殊的參數變數符號: $@ 與 $*
我與BASH的每一天 - [22] while-loop與array的結合
我與BASH的每一天 - [23] 顯示程式執行的進度
我與BASH的每一天 - [24] 打包initrd image
我與BASH的每一天 - [25] 紀錄鍵盤動作的命令 - script
我與BASH的每一天 - [26] 使用者參數選項 - getopts
我與BASH的每一天 - [27] getopts 的錯誤控制設計
我與BASH的每一天 - [28] 分割檔案 - split
我與BASH的每一天 - [29] 同時將訊息輸出至畫面與重導到檔案 - tee