shell SSH遠程無密碼登錄和操作

shell SSH遠程無密碼登錄和操作

SSH遠程一臺設(shè)備

SSH 為建立在應(yīng)用層基礎(chǔ)上的安全協(xié)議,用戶可以通過SSH協(xié)議遠程訪問同一個網(wǎng)段的其他設(shè)備,此時只需要將設(shè)備和路由器連接就行了,而不用將設(shè)備和PC連接在一起,而后用戶就可以通過PC輕松訪問該設(shè)備了。

SSH的指令模式如下:

主要參數(shù)說明:

-l 指定登入用戶

-p 設(shè)置端口號

-f 后臺運行,并推薦加上 -n 參數(shù)

-n 將標準輸入重定向到 /dev/null,防止讀取標準輸入

-N 不執(zhí)行遠程命令,只做端口轉(zhuǎn)發(fā)

-q 安靜模式,忽略一切對話和錯誤提示

-T 禁用偽終端配置

SSH執(zhí)行遠程登錄的命令格式:

Ssh [options][remote host][command]

假設(shè)遠程設(shè)備的IP是109.105.116.100

則命令行可以為:

ssh root@109.105.116.100

SSH遠程登錄并執(zhí)行指令格式:

Ssh [options][remote host][command]

注意:此時的command是需要雙引號“”括起來的。

比如:ssh root@109.105.116.86 "ls"

如果有連續(xù)指令需要執(zhí)行的話,則需要用分號“;”將不同的語句隔開,比如:

#ssh root@192.168.0.107 "cd /home/testbed/DUT; ls"

SSH遠程多臺設(shè)備

當有多臺設(shè)備需要用SSH遠程的時候,如果再一臺臺的手動鏈接會比較麻煩,此時就可以通過一個腳本來實現(xiàn)SSH遠程無密碼登錄。

生成秘鑰

SSH無密碼登錄首先需要生成一個公鑰。

ssh-keygen -t rsa -P ''

其中-P為設(shè)置password, ''表示密碼為空,這時候系統(tǒng)會自動生成秘鑰。也可以這樣

ssh-keygen -t rsa

此時需要四次回車來完成密碼設(shè)置過程。

這樣生成了一對密鑰,存放在用戶目錄的~/.ssh下,名稱為id_rsa.pub。

秘鑰拷貝

當秘鑰生成了之后,就需要通過SSH將秘鑰拷貝到遠程設(shè)備上。拷貝命令為ssh-copyid。

ssh-copy-id –I root@192.168.0.107

之后就可以通過shell腳本的for循環(huán)來遠程操作每個設(shè)備,然后執(zhí)行設(shè)備里的文件了。

ip_array=(1 2 3 4 5 6 7 8 9)

for IP in ${ip_array[@]}

do

echo "the ip is $IP"

ssh? ${IP_PATH}${IP} "cd /home/testbed/DUT/Project_Shell;

chmod 777 *;

./dut_start.sh;

sleep 1;

exit"

done

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容