ssh啟動腳本
A. 如何用shell腳本實現SSH的遠程登錄
要帶跳過輸入密碼的環節么?
如果你想每次鏈接的時候自己手動輸入密碼,那就參考這樣寫
#!/bin/bash
ip=$1
ssh 用戶名@ip地址 -p埠號
保存後給執行許可權,運行時在腳本後面直接跟一個IP地址
如果你想每次鏈接的時候自動跳過輸入密碼的環境,那就再網路下「ssh建立信任關系」,腳本依然還是這個腳本,只是登陸的時候做了互相信任的話,就不需要密碼了
B. ssh 192.168.0.10 "/test.sh" 遠程執行命令後如何能中ssh命令後,客戶端繼續運行這個test.sh腳本
1. ssh簡介以及本例的應用場景① ssh的簡介
SSH是一個用來替代TELNET、FTP以及R命令的工具包,主要是想解決口令在網上明文傳輸的問題。為了系統安全和用戶自身的權益,推廣SSH是必要的。 SSH是英文Secure Shell的簡寫形式。通過使用SSH,你可以把所有傳輸的數據進行加密,這樣"中間人"這種攻擊方式就不可能實現了,而且也能夠防止DNS欺騙和IP欺騙。
② 本例的應用場景
用戶在client(linux)上通過ssh遠程執行server(Windows)上的命令,比如c:\test.bat
註:Linux版自帶ssh Server且默認啟動,具體設置方法請參見google。
2. ssh伺服器的安裝(Windows)
ssh伺服器軟體有許多中,我們這里使用的是免費的freeSSHd。
C. linux下如何使用ssh遠程登錄主機 執行shell腳本
知道linux的ip,用戶和密碼就可以遠程登陸了。在你的SSH 客戶端會有一個linux的終端。在這執行命令就可以了。
D. ssh登錄到遠端伺服器執行本地腳本,怎麼給腳本傳遞位置參數
首先要設置ssh信任 ----> 實現無密碼ssh登錄. 這個你可以自行搜索, 腳本非常簡單: ssh user@host "command $var"
E. java SSH遠程到linux 執行本地的腳本
scp file yonghuming@伺服器 :/路徑
把本地文件 file 傳送到 伺服器 的 /路徑 下。
然後就可以遠程執行了。
F. 利用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就該這么學》,為開源技術愛好者努力做得更多更好
G. 如何寫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
}
}
H. 請問我在Linux下想實現一個終端同時通過SSH執行其它多個終端內的shell腳本怎麼實現
ssh $IP_102 -l $User "sh 102.sh"&
ssh $IP_103 -l $User "sh 103.sh"&
這樣執行就可以同時執行了,否則是一個一個執行的。
如果判斷是否執行完成就寫一個log日誌,看好讀日誌就可以了。
I. 在linux 腳本中使用了遠程登錄ssh,結果是 ssh:command not found
有可能腳本執行沒有設置環境變數PATH,腳本里加上export PATH=/bin:/usr/bin:$PATH
或者把ssh路徑寫全,比如 /usr/bin/ssh
J. 為什麼ssh命令在linux終端上無法直接運行,但是寫到bash腳本裡面就可以執行
-V Display the version number and exit.
顯示版本號並退出。
退出SSH當然就斷開連接啦。
寫在shell腳本里,執行的時候是在新建shell中執行的,退出也只是退出新建shell回到原shell,所以不影響連接。
試試執行:
(ssh-V)
放到小括弧中,同樣會新建shell去執行。