Linux

不同的ssh rc命令用於不同的登錄

  • April 23, 2021

所以,我有一個愚蠢的問題。我有一個 linux 伺服器,我經常用各種設備 ssh 進入它。我的 .ssh 目錄中有一個“rc”文件,用於在登錄時列印一些 ASCII 藝術文本,僅用於裝飾。它在我所有的其他電腦上看起來都不錯,但我的手機上有一個 ssh 客戶端,其中所有內容都很混亂(由於格式化)。我想為我的電話客戶端列印一條普通的登錄歡迎消息。我對配置 ssh 不是很有經驗,所以我想知道是否有辦法指定不同的命令從不同的 ssh 登錄執行,也許是通過 ECDSA 密鑰指紋?不是什麼重要的問題,只是我想做的事情。如果有人可以提供幫助,我將不勝感激

如果您能詳細說明“rc 文件”是什麼以及它可用的資訊(假設它是一個 shell 腳本),那將非常有幫助。

終端仿真器設置 TERM 環境變數以便向程序描述它們的功能。此變數也通過 SSH 轉發。您的手機和電腦之間的值$TERM可能不同,在這種情況下,您可以使用它來區分。許多終端仿真器只是將其設置為xterm,儘管您可能很幸運。

如果您不能使用$TERM,您還可以配置您的 SSH 客戶端以發送您在 SSH 配置中定義的值(或在連接時在命令行上)。您可以通過添加AcceptEnv MY_CLIENT到伺服器的 sshd 配置,然後添加SendEnv MY_CLIENT="phone"手機的 SSH 客戶端的配置來做到這一點。然後,您的腳本應該能夠看到該變數並確定您是否從手機連接。

另請參閱:https ://stackoverflow.com/a/4410137/1106272

最後,您可以Match在 sshd 配置中使用一個塊來設置基於使用者、組、主機等的設置。查看man sshd_config更多資訊。我不完全確定您是否可以在這方面做任何有用的事情,但值得一看。

引用自:https://unix.stackexchange.com/questions/646011