不同的ssh rc命令用於不同的登錄
所以,我有一個愚蠢的問題。我有一個 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
更多資訊。我不完全確定您是否可以在這方面做任何有用的事情,但值得一看。