Настроить SSH, чтобы разрешить переадресацию портов, но нет команд для определенного ключа?

8

Поэтому я добавил открытый ключ к authorized_keys. Как я могу ограничить его, чтобы он мог перенаправлять порты, но у него может не быть оболочки?

thelsdj
источник

Ответы:

10

Вы должны поставить no-ptyключевое слово перед вашим ключом, чтобы оно выглядело так:

no-pty ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABBACzbcwCZNaN3HhHmpnaVrfZlNJ0HhPnOqEj
k2llms1OOPnEXetIlZuJw0UXbyMbhQbBl/E2wxXvXvF+jyLRR5yN6kBydM4LhjC0ej0PcH839vXd
uwJpDFjPw3s7r0VOhU1WRyk6Da6rX6shzabhQioIm3MHCjNOdywPb0k1cTj4yOxoOCOqGjmXK0
xxzTd+ZjTJqQGWzZ+8L8cVtKmU8kspYlCdhGWSv0Den36OsScnWTBn8A3X3lVJB5NkEm
BM1yKX4F6BhhD317VensEUu031PtFULeSF97IxDPmK36OFz9TPSf4d8Hp3BqtysqUlbWfEhYdHXj
+1Mn4xXZKiZhBh1DX youruser@yourhome

(Это все в одной строке, я добавил разрывы строк для удобства чтения).

ОБНОВЛЕНИЕ: если вы хотите предотвратить удаленное выполнение команд, вы должны добавить: command="/bin/false"

no-pty,command="/bin/false" ssh-rsa ...
cstamas
источник
4
Это ограничивает возможность удаленного входа в систему, не препятствует удаленному выполнению команд. Источник
mctylr
1
@mctylr: это не было частью вопроса. Но вы правы, возможно, ОП не знал об этом, поэтому я добавил это к ответу. (+1)
cstamas
1
Также стоит отметить, что вам нужно использовать ssh -N, чтобы поддерживать туннель, когда на удаленном конце нет оболочки.
Майк Pountney
1

человек сшд

Раздел AUTHORIZED_KEYS ФОРМАТ ФАЙЛА . Вы можете ограничить то, на что пользователи могут перенаправлять порты, просто добавив порты и хосты, которые вы хотите разрешить, например

permitopen = "192.0.2.1:80"

Также вы можете ограничить, откуда пользователь подключается, какие команды могут выполнять и т. Д.


источник
1

Я бы посмотрел на использование scponly , я подозреваю, что его можно использовать для переадресации портов, а не для доступа только по scp / sftp. Он предназначен для ограничения пользователя от входа в систему или выполнения команд через ssh.

Другой фактор, который вам может понадобиться или вы хотите использовать sshd в среде chroot , вот несколько инструкций по настройке sftp с помощью chroot. Вы должны быть в состоянии адаптировать их довольно легко.

Я надеюсь, что это поможет вам найти свое решение.

mctylr
источник
scponlyпохоже переехал на github.com/scponly/scponly . Ваша ссылка дает 404. :(
Билл Вайс