Использование SSH ProxyCommand
директива в клиенте ~/.ssh/config
файл возможно соединиться с сервером SSH через другой сервер SSH, действующий как хост перехода.
Существует ли подобная конфигурация для стороны сервера SSH? Например, когда пользователь входит в систему машины перехода с определенным авторизованным ключом, я хочу, чтобы это соединение SSH было автоматически передано другой машине, также работающей sshd
.
Можно указать команду, которая выполняется каждый раз, когда кто-то входит в систему с помощью ssh ключа.
Отредактируйте файл ~/.ssh/authorized_keys
. Предварительно ожидайте каждый ключ, который Вы хотите передать с a command=ssh user@target
.
Это должно быть сделано для каждого пользователя. Так как это сделано с помощью пользовательского конфигурационного файла, каждый пользователь может изменить это. Если Вы доверяете своим пользователям (или Вы - единственный пользователь), затем, это в порядке. Можно также препятствовать тому, чтобы пользователи изменили это, не дав им никакие другие средства получить доступ к оболочке на этой машине.
Для получения дополнительной информации читайте sshd
страница справочника. Поиск AUTHORIZED_KEYS FILE FORMAT
раздел, и затем для command="command"
.
Кроме того: можно вызвать команду с помощью a ForceCommand
в /etc/ssh/sshd_config
. Эта опция более безопасна, поскольку она осуществляется sshd, и только пользователи с полномочиями пользователя root могут изменить это.
Для получения дополнительной информации читайте sshd_config
страница справочника. Поиск ForceCommand
.
Самый легкий путь состоял бы в том, чтобы просто иметь
ssh -t user@host
в .bash_login файле пользователя так, чтобы, когда они входят в систему, он только запустил новую ssh сессию к удаленной машине. (-t вызывает pseudo-tty выделение - не уверенный при необходимости в этом или не),
Если Вы хотите стать более сложными / централизованно управляемый, Вы могли бы заменить оболочку пользователя сценарием/программой, который выбирает корректный удаленный сервер, чтобы соединиться с и выполнить команду ssh соответственно.