31

Я хотел бы иметь возможность настроить команду для запуска по SSH входа на сервер, без необходимости вводить ее. В основном я ищу файл конфигурации ssh, эквивалентный:

ssh host command

так что все что мне нужно набрать это:

ssh host

и команда запускается.

3 ответа3

16

Также можно вставить команду в ваш файл авторизованных ключей. (~/.ssh/authorized_keys). Это позволяет вам выполнить пользовательскую команду для каждого ключа в файле. Я использую это для пересылки подключений через мой брандмауэр. В результате я могу подключиться по ssh к одному хосту, и он автоматически подключает сеанс к хосту в сети. Запись authorized_keys выглядит следующим образом:

command="ssh -Tq <hostname> \"$SSH_ORIGINAL_COMMAND\"",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-rsa AAAA... the rest of the key ...

Точнее, редирект для моего экземпляра Gitolite. Это позволяет простой внешний доступ без прямого воздействия на хост gitolite для любого внешнего доступа. Проверьте man-страницу для получения дополнительной информации. ( http://linux.die.net/man/8/sshd )

11

Если вы используете OpenSSH, похоже, что ~/.ssh/rc выполняется при входе в систему.

10

Вы можете настроить псевдоним bash.

В вашем файле .bashrc вставьте:

alias ssl='ssh some_host run_command'

Тогда вам даже не нужно будет вводить имя хоста.

Или, если вы хотите сделать это с несколькими хостами (а несколько псевдонимов не сработают), используйте маленький скрипт:

kevin@box:~$ cat ssl.sh
#!/bin/sh
ssh $1 some_command
kevin@box:~$

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .