我想寫一個bash腳本,它允許我使用SSH連接登錄。 條件是密碼存儲在.txt文件中。使用SSH連接到服務器的Bash腳本
我需要寫一個bash腳本,它會自動請求
ssh [email protected] -p 733
一個連接,並自動將使用存儲成txt文件
我從來沒有寫過在bash一些密碼。有人能幫我嗎。 預先感謝您的時間。
我想寫一個bash腳本,它允許我使用SSH連接登錄。 條件是密碼存儲在.txt文件中。使用SSH連接到服務器的Bash腳本
我需要寫一個bash腳本,它會自動請求
ssh [email protected] -p 733
一個連接,並自動將使用存儲成txt文件
我從來沒有寫過在bash一些密碼。有人能幫我嗎。 預先感謝您的時間。
你不能用簡單的bash
腳本來完成。您需要使用expect
命令。
話雖如此它確實是一個非常糟糕的主意,有存儲在一個文本文件密碼,這裏是如何使用expect
做到這一點:
#!/usr/bin/expect
set timeout 20
set f [open "password.txt"]
set password [read $f]
close $f
spawn ssh [email protected]
expect "[email protected]'s password:"
send $password
interact
我仍然建議關注@ Wolph的建議在使用ssh
訪問遠程服務器時使用一對密鑰進行調查。
這可能是個不錯的主意,但是再一次,有一個密碼可能不是什麼大不了的以明文形式。在工作中,我們在開發過程中不斷地嵌入到嵌入式設備中。這些設備都有相同的默認密碼,它甚至發佈在我們的網頁上。爲了節省時間,我們編寫了ssh命令,這沒什麼大不了的。這就是說,總的來說,這是一個非常糟糕的主意。預期+1。我已經看過很多次了,每個人基本上只是說「鑰匙」。 – evading
每個人都在說「密鑰」,因爲在編寫一個腳本可以從文件讀取密碼並將其與ssh配合使用時,您可以生成密鑰對並將公鑰複製到遠程服務器。 – chepner
@buff首先我要感謝你的代碼,它真的非常好,我從來沒有使用bash/expect腳本的經驗。現在我有另一個,我希望最後一個問題。在.txt文件中,我保留了ssh連接的密碼,我有更多的一個,只有1個作品。我該如何循環以便腳本將所有單詞從中取出。txt文件並在此腳本中嘗試作爲密碼。謝謝 – Chris
我建議你使用密碼較少驗證這將是更安全請按照下列步驟操作:
[email protected]:~/bash$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/example/.ssh/id_rsa): ## the directory which located private key and public key.
Enter passphrase (empty for no passphrase): ## you can use passphrase password if you want .
Enter same passphrase again: ## enter same password again.
Your identification has been saved in /home/example/.ssh/id_rsa.
Your public key has been saved in /home/example/.ssh/id_rsa.pub.
The key fingerprint is:
70:03:68:70:0a:52:16:55:55:66:62:2b:51:67:81:92 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|o.=+oo++=oB. |
|.o oo E+.B |
| .. o.+ |
| + . |
| S |
| |
| |
| |
| |
+-----------------+
然後鍵入
scp -o Port=733 ~/.ssh/id_rsa.pub [email protected]:/home/example/.ssh/authorized_keys
ssh -p 733 [email protected]
你不需要把 任何密碼再次,這是密碼更少的身份驗證比任何腳本更安全。
請查看使用私鑰fiels而不是存儲在文件中的密碼。更容易使用,通常比這些黑客更安全 – Wolph
@Wolph私鑰如何與我的問題相關。謝謝。 – Chris
你可以使用它們而不是密碼 – Wolph