簡體   English   中英

使用密碼連接到 SSH 並使用 shell 腳本執行一些命令?

[英]Connect to SSH using password and Perform Some commands using shell script?

我正在從事 Magento 2 項目。

我在我的服務器上安裝了 Git。 所以我可以在不使用 ftp 的情況下直接在服務器上推送和拉取更改。

在我的本地,我確實將更改推送到 git。 我確實拉到了偏遠的一側。 所以我在那里得到了我的改變。

所以我想創建一個shell腳本,手動編寫的命令只需執行一個腳本就可以一一執行。

在腳本中,我也在思考。

  • 使用 ssh 連接服務器。 主機名和密碼。
  • 然后使用cd項目名稱進入項目目錄。
  • 並在那里執行 git pull 命令。
  • 和一些用於更新更改的 magento 命令。 (例如:bin/magento 設置:升級等...)

那么有沒有辦法做這樣的事情?

您可以通過ssh user@host 'command1;command2'在 ssh 上執行命令並使用 sshpass(但您必須以純文本形式存儲密碼,這有點不可以)或設置基於密鑰的身份驗證(推薦)

首先,您必須安裝 sshpass,可以通過在終端中運行以下命令來安裝:

sudo apt install sshpass

現在轉到 /home/{youruser}/ 並在任何編輯器中打開 .bashrc 文件(如果文件不可見,請按 Ctrl+H)。

現在讓我們創建一個命令別名,根據您的項目詳細信息在 .bashrc 文件中創建一個新行。 例如:

alias connect-magentto=’sshpass -p “your ssh password here” ssh yourusername@yourhostname’

將上面的命令復制粘貼到 .bashrc 文件中並保存並打開一個新終端。 在終端中輸入“connect-magento”,現在您無需復制、粘貼或輸入任何內容即可連接到服務器。

同樣,您可以通過在 .bashrc 文件中添加並為其指定別名來創建任何您希望的其他命令的快捷方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM