首先要能讓兩PC都能接受對方的指令,讓這自動化像有人在操作指令一般,所以要先為兩台PC(至少受控端)安裝SSH Server 相對的控制端要連進被控端則得安裝 SSH Client (OpenSSH) A控制端 --> B被控端 在A下指令 ssh [-f] [-o 參數項目] [-p 非正規埠口] [帳號@]IP [指令] 選項與參數:
-f :需要配合後面的 [指令] ,不登入遠端主機直接發送一個指令過去而已;
-o 參數項目:主要的參數項目有:
ConnectTimeout=秒數 :連線等待的秒數,減少等待的時間
StrictHostKeyChecking=[yes|no|ask]:預設是 ask,若要讓 public key
主動加入 known_hosts ,則可以設定為 no 即可。
-p :如果你的 sshd 服務啟動在非正規的埠口 (22),需使用此項目;
[指令] :不登入遠端主機,直接發送指令過去。但與 -f 意義不太相同。 例子 ssh 帳號@IP 然後B會要求你輸入該帳號密碼,當然如果是人工操作自然不是問題,若要自動化就會卡住,此時需要讓兩PC能自動認證 此時A得先產生兩把金鑰(公鑰跟私鑰),將來只要兩把金鑰比對成功則能登入 ssh-keygen -t rsa 或 ssh-keygen -d (dsa) => 產生出 id_rsa, id_rsa.pub 若只下 ssh-keygen 指令則預設以RSA編碼 這兩把金鑰會放在A帳號的家目錄/.ssh目錄下 接下來就是把公鑰交給對方 scp .ssh/id_rsa.pub B帳號@IP:~ 這樣B就會收到A的 id_rsa.pub 檔案放在家目錄下 接下來B必須將這檔案內容加入自己.ssh目錄下的authorized_keys檔案內 cat id_rsa.pub >> .ssh/authorized_keys 不管有幾台電腦想控制B,只要讓B將自己的公鑰內容加入B的authorized_keys檔案內即可 測試一下 ssh B帳號@IP 'ls' 是不是免輸入密碼了
############################################################## 同步兩主機目錄 rsync -av 本機目錄/ 遠端帳號@IP:~/目錄/ 因為rsync已經支援ssh傳輸,所以只要有給公鑰,自然就不再需要輸入密碼
|