Linux

如何在沒有本地作業系統登錄的情況下使用 ssh 客戶端

  • August 1, 2018

我有類似伺服器的機器(它們不是工作站,完全自動化),我需要它們能夠執行打開客戶端 ssh 連接(到 github 等第 3 方伺服器)的腳本,我需要它執行以自動化的方式。

我可以使用 ssh 私鑰來執行此操作,但問題是機器將 ssh 私鑰儲存在具有使用者權限的使用者目錄中,要求腳本由使用者執行。我曾嘗試更改 ssh 密鑰的權限,但 ssh 客戶端抱怨這是不安全的。

無論我最終是否使用 ssh 密鑰,我都需要一種方法來從啟動時安全地打開客戶端 ssh 連接,而無需任何本地作業系統登錄。

我對如何在 Linux 和/或 Windows 上解決此問題感興趣。

在 Windows 中,您可以使用任務計劃程序使應用程序以特定使用者身份執行:

在此處輸入圖像描述

注意安全選項下。您將選中“執行使用者是否登錄”框,然後選中“更改使用者或組”並選擇設置它的使用者。它會詢問他們的密碼。

我可以使用 ssh 私鑰來執行此操作,但問題是機器將 ssh 私鑰儲存在具有使用者權限的使用者目錄中,要求腳本由使用者執行。

不對。查看 SSH 客戶端的文件,了解如何使用儲存在文件系統中任意位置的私鑰文件。

對於 OpenSSH 檢查ssh_config(5) - IdentityFile

此外,任何自動化程序在任何作業系統中都以特定使用者身份執行。因此,只需確保為此服務使用者/工具帳戶或您所稱的任何名稱正確設置了私鑰文件的所有權和權限。

引用自:https://serverfault.com/questions/924509