1. 如何寫shell腳本自動通過ssh命令登錄到伺服器
用EXPECT實現用密碼登錄,也可配置成不需要密碼
#!/usr/bin/expect -f
if { $argc < 3 } {
puts stderr "Usage: $argv0 IPAdress Login OldPasswd"
exit
}
set IPADDR [lindex $argv 0]
set LOGIN [lindex $argv 1]
set OLD_PW [lindex $argv 2]
set timeout 30
stty -echo
spawn ssh $IPADDR -l $LOGIN
expect {
"*Password:*" {
send "$OLD_PW\r"
exp_continue
} "*Last login:*" {
#interact
exit 0
} timeout {
send_user "connection to $IPADDR timeout!\n"
exit 1
} "*incorrect*" {
send_user "password incorrect!\n"
exit 2
} "*Permission*" { #for linux ssh
send_user "password Error!\n"
exit 2
} eof {
exit 3
}
}
2. shell腳本中怎麼ssh上遠程機執行命令
先在兩台機子上建立信任,ssh-key
具體方法網路下就有
腳本里的命令是
ssh 用戶@ip
3. 需求:linux腳本ssh登錄到A機器然後再ssh到B機器然後再ssh到C機器,執行命令。這個腳本怎麼寫
#!/usr/bin/expect
spawnsshaaa@ip-address
expect"password:"
send"password "
expect"$"
send"sshbbb@ip-address "
expect"bbb@ip-address'spassword:"
send"password "
expect"$"
send"sshccc@ip-address "
expect"ccc@ip-address'spassword:"
send"password "
expect"$"
send"pwd "
interact
4. shell腳本中怎麼ssh上遠程機執行命令
你好,
先在兩台機子上建立信任,ssh-key
具體方法網路下就有
腳本里的命令是
ssh 用戶@ip
5. 請教如何在Bash里調用ssh遠程執行命令
直接將所有可執行的各種命令寫在 bash 的 SHELL 腳本文件中即可。當然了,至於說該 SHELL 腳本文件是否可以執行?並不是說只要你的SHELL腳本文件中的命令都是可執行的,就能夠正確執行的。必須要使用命令:chmod +x my_shell.txt 將其修改成可執行許可權,且 SHELL 腳本文件中的每一個命令都是擁有 x 許可權(可執行許可權)的,才能夠在命令行狀態 $ 下面正常執行。
6. 利用shell腳本執行ssh遠程另一台主機執行命令並返回命令的結果集
假設從主機A,檢查主機B上的進程,
需要在主機B上建立檢查用戶,例如叫x,
並設置通過public key認證登錄SSH,不會可以google搜一下,
然後,在A機器上執行:
ssh x@B ~/command.sh > result.txt
command.sh就是B機器上放置在x目錄下的腳本。
輸出結果應該是寫到了result.txt
或者另一種寫法
result=`ssh x@B ~/command.sh`
結果直接保存到result變數中了。
暫時沒有linux環境,所以沒有實際測試,你自己試試吧
免費提供最新Linux技術教程書籍,入門自學書籍《linux就該這么學》,為開源技術愛好者努力做得更多更好
7. 教你如何通過ssh控制遠程主機,遠程執行命令
教你如何通過ssh控制遠程主機,遠程執行命令ssh控制遠程主機遠程執行命令這個分兩步,很簡單很實用。第一步,設置ssh免認證,免認證就是只不用密碼認證就可以直接登錄,這在寫腳本伺服器控制時特別有用。每二步,就是到遠端伺服器上去執行命令
假如現在有兩個伺服器,一個叫SA,另一個叫SB。現在我要在SA上去控制SB。
格式:ssh
SB_用戶名@SB_IP
命令for
example:ssh
[email protected]
echo
aaa>>hzs_test.txtssh
[email protected]
'echo
-e
haha/n
hoho
>>hzs_test.txt'
8. shell腳本通過ssh登錄到伺服器進行操作
呵呵,這個問題有意思。 仔細想想,是本地環境和伺服器環境的區別。你的腳本是存放在本地的,當你執行第一句的時候,已經轉化為伺服器的一個中斷,享用的是伺服器的環境。是看不到你本地的腳本的。
9. 如何通過ssh登錄伺服器執行linux指令
介紹如何在windows主機上通過ssh遠程登錄ubuntu操作系統,這里以虛擬機的操作系統為例講解。方法/步驟
准備工作:首先需要在windows系統中安裝虛擬機,並在虛擬機中安裝好linux操作系統,這里安裝的是vmware player虛擬機和ubuntu版本的操作系統。關於該部分的安裝在作者的其他經驗中有詳細介紹。
在windows主機中安裝上ssh軟體,ssh是Secure Shell 的縮寫,主要提供遠程登錄協議。windows下的安裝很簡單,只要下載好安裝程序,雙擊即可安裝。安裝完成後會生成兩個軟體圖標。
在ubuntu系統中安裝ssh,通常ubuntu中默認是安裝的。可以通過命令進行查看:dpkg -l | grep ssh
如果ubuntu系統中沒有安裝ssh程序,也可以使用下列命令進行安裝:
sudo apt-get install openssh-client
sudo apt-get install openssh-server
安裝好後ssh服務的啟動和停止命令如下:
啟動ssh服務:
#sudo /etc/init.d/ssh start
停止ssh服務:
#sudo /etc/init.d/ssh stop
重啟ssh服務:
#sudo /etc/init.d/ssh restart
通過虛擬機啟動ubuntu系統,打開shell終端,通過ifconfig命令,查看該系統的ip地址,ssh的埠號一般為22.
打開windows系統中的ssh客戶端軟體,選擇快速連接,輸入ubuntu系統的ip地址和賬戶名,並根據提示輸入密碼,即可通過ssh登錄到ubuntu系統中去,並執行各種命令操作。
10. 利用shell腳本執行ssh遠程另一台主機執行命令並返回命令的結果集
假設從主機A,檢查主機B上的進程,
需要在主機B上建立檢查用戶,例如叫x,
並設置通過public key認證登錄SSH,不會可以google搜一下,
然後,在A機器上執行:
ssh x@B ~/command.sh > result.txt
command.sh就是B機器上放置在x目錄下的腳本。
輸出結果應該是寫到了result.txt
或者另一種寫法
result=`ssh x@B ~/command.sh`
結果直接保存到result變數中了。
暫時沒有linux環境,所以沒有實際測試,你自己試試吧