Bash

使用互動式 SSH 在遠端主機上執行命令(有條件地)

  • February 3, 2012

我希望能夠在每次登錄遠端主機時自動在遠端主機上執行命令,但在目前的互動式 SSH 會話中。

就像是

ssh user@remotehost [run do.sh]

幾個管家任務在哪裡do.sh執行,然後重新附加到screen會話(目前我do.sh在登錄主機後手動執行)。

我不想添加它,.bashrc因為我從其他機器登錄到這個主機,我不想do.sh在我從那裡登錄時執行,所以我需要它是可選的。

你可以嘗試這樣的事情:

ssh server -t "do.sh; bash --login"

如此處建議:https ://serverfault.com/questions/167416/change-directory-automatically-on-ssh-login

或者您可以嘗試使用 sshd_conf(或 ~/.ssh/config)中的“LocalCommand”選項,如官方手冊頁中所述:http ://unixhelp.ed.ac.uk/CGI/man-cgi?ssh+1

難題的一部分:假設 OpenSSH,ssh客戶端將設置以下環境變數:

SSH_CONNECTION 標識連接的客戶端和伺服器端。該變數包含四個以空格分隔的值:客戶端 IP 地址、客戶端埠號、伺服器 IP 地址和伺服器埠號。

因此,您可以使用此資訊找出您的連接來自何處

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