SSH ProxyCommand на стороне сервера SSH

Использование SSH ProxyCommand директива в клиенте ~/.ssh/config файл возможно соединиться с сервером SSH через другой сервер SSH, действующий как хост перехода.

Существует ли подобная конфигурация для стороны сервера SSH? Например, когда пользователь входит в систему машины перехода с определенным авторизованным ключом, я хочу, чтобы это соединение SSH было автоматически передано другой машине, также работающей sshd.

4
задан 30.04.2011, 14:42

2 ответа

Можно указать команду, которая выполняется каждый раз, когда кто-то входит в систему с помощью 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.

5
ответ дан 07.12.2019, 20:08

Самый легкий путь состоял бы в том, чтобы просто иметь

ssh -t user@host

в .bash_login файле пользователя так, чтобы, когда они входят в систему, он только запустил новую ssh сессию к удаленной машине. (-t вызывает pseudo-tty выделение - не уверенный при необходимости в этом или не),

Если Вы хотите стать более сложными / централизованно управляемый, Вы могли бы заменить оболочку пользователя сценарием/программой, который выбирает корректный удаленный сервер, чтобы соединиться с и выполнить команду ssh соответственно.

1
ответ дан 07.12.2019, 20:08

Теги

Похожие вопросы