1 使用ssh實現
ssh user@hostname -c
"/bin/bash"
< test.sh
2 使用expect實現
採用的策略就是先在本地通過expect把shell指令碼推送到遠端伺服器上,之後再用expect模擬登入之後,先給遠端的shell指令碼許可權,然後再執行指令碼,
最後刪除指令碼就ok啦!ps:在expect和控制台互動的時候我設定的timeout時間是1s,如果執行的shell指令碼時間比較長的話,timeout應該大於shell指令碼的時長
下面是expect指令碼的**:
#!/home/map/.jumbo/bin/expect
set serverpwd [lindex $argv
0] #伺服器密碼
set serverip [lindex $argv
1] #伺服器ip
set address [lindex $argv
2] #伺服器存放路徑
set file [lindex $argv
3] #指令碼名
set timeout 5
#手動設定與控制台互動的時間
#將shell指令碼推送到遠端伺服器
spawn scp $file
$serverip:$address
expect
"*password:"
"*password:"
}#登入遠端伺服器
spawn ssh $serverip
expect
"*password:"
"*password:"
}expect "#"
#給shell指令碼新增許可權
send
"chmod a+x $address
$file\r"
expect "#"
#執行shell指令碼
send
"$address
$file
$address\r"
expect "#"
#刪除遠端伺服器上的shell指令碼
send
"rm $address
$file\r"
expect "#"
#退出send
"exit\r"
expect eof
本地Python執行遠端伺服器Python指令碼
情景 區域網內一台pc或伺服器 windows或linux 上有一python指令碼,如何執行它?常用的兩種 遠端桌面和xshell遠端連線 那假如想要不通過以上兩種方式的前提下執行它,可行麼?怎麼辦?答案是肯定的 coding utf 8 author lihaizhen date descrip...
在伺服器上搭建遠端git倉庫
推薦使用執行liunx的機器 請獲取root許可權後進行下面操作 檢查是否安裝了git如果有版本號就無需再安裝 git v 安裝git sudo apt get install gitsudo adduser git收集所有需要登入的使用者的公鑰,就是他們自己的id rsa.pub檔案按照本文找id...
本地遠端訪問伺服器jupyter
jupyter是它的公升級版,一般anaconda安裝包中會自帶。安裝好以後直接輸入jupyter notebook便可以在瀏覽器中使用。但是它預設只能在本地訪問,如果想把它安裝在伺服器上,然後在本地遠端訪問,則需要進行如下配置 參考教程 如使用shell6 或者 終端ssh登入 jupyter n...