Ssh

如何在 SSH 登錄時使用自定義 .bashrc 文件

  • March 24, 2021

我發現在與我合作的新公司中,我經常不得不訪問生命週期相對較短的 linux 伺服器。在這些伺服器中的每一個上,我都有一個帳戶,但是每當創建一個新帳戶時,我都必須經歷轉移我的 .bashrc 的麻煩。但是,有可能在大約幾個月的時間內,該伺服器將不再存在。我還必須在短時間內(幾分鐘)訪問許多其他伺服器,在這些伺服器上傳輸我的 .bashrc 是不值得的,但由於我在很多伺服器上工作,這會浪費很多時間。

我不想更改伺服器上的任何內容,但我想知道是否有辦法擁有“每個連接”的 .bashrc,因此每當我通過 SSH 連接到伺服器時,我的設置都會用於該會話。

如果這是可能的,如果我可以對其他配置文件(如 gitconfig 文件)做同樣的事情,那就太好了。

我認為您想要的是(在您連接的機器上的 .ssh/config 中):

PermitLocalCommand yes
LocalCommand scp yourname@someserver:/dir/dotbash /local/home/dir/.bashrc

然後你可以帶出:

source .bashrc

走在你快樂的路上。LocalCommand 在您連接的伺服器上執行命令,當它到達那裡時,就在您的實際會話之前。

我還要確保伺服器上的 sshds 配置了PermitLocalCommand yes

您可以通過多種方式調整 LocalCommand 以使其在您的特定環境中工作——例如,您可以從內部 Web 伺服器 curl 或從 nfs 掛載中提取。

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