Я хотел бы иметь возможность автоматически запускать команду на удаленном хосте каждый раз, когда я вхожу на этот хост, но в рамках текущего интерактивного сеанса SSH.
Что-то вроде
ssh user@remotehost [run do.sh]
где do.sh
выполняет несколько служебных задач, а затем снова подключается к screen
сеансу (в настоящее время я запускаю do.sh
вручную после входа на хост).
Я не хочу добавлять его, .bashrc
потому что я регистрируюсь на этом хосте с других машин, и я не хочу do.sh
запускаться, когда я делаю вход оттуда, поэтому мне нужно, чтобы это было необязательно.
bash
shell
command-line
ssh
Джим Фаркас
источник
источник
ssh user@remotehost /path/to/do.sh
? Если это работает, вы даже можете использовать псевдоним в .ssh / config или в вашем личном .bashrcОтветы:
Вы можете попробовать что-то вроде этого:
как предложено здесь: /server/167416/change-directory-automatics-on-ssh-login
Или вы можете попробовать использовать опцию «LocalCommand» в sshd_conf (или ~ / .ssh / config), как описано на официальной странице руководства: http://unixhelp.ed.ac.uk/CGI/man-cgi?ssh+1
источник
Одна часть головоломки: предполагая OpenSSH,
ssh
клиент установит следующую переменную среды:Таким образом, вы можете использовать эту информацию, чтобы узнать, откуда происходит ваше соединение .
источник