Возможно ли это, упомянутое выше в заголовке? Я хочу запустить один SSH-сервер для SFTP-клиентов (на каком-то другом порту .. например, 2121) и хочу запустить другой SSH-сервер для SSH-клиентов, которым будет разрешено входить в систему только с ключом. У кого-нибудь есть идея, как это реализовать?
tnx
Используйте отдельные файлы конфигурации и запустите один из серверов, указав файл конфигурации. Чтобы использовать другой файл, используйте -f
option, за которым следует файл конфигурации, который вы хотите использовать.
Если вы хотите сделать это постоянным, вам нужно будет создать копию init.d
скрипт, который запускает sshd и модифицирует его, чтобы использовать другой pid и новый файл конфигурации. Более современные дистрибутивы используют systemd
который использует разные управляющие файлы, для которых вам нужно будет создавать новые копии.
Возможно, удастся достичь того, чего вы хотите, с помощью одного sshd и Match
блок. (как упомянул дзёши). Вам нужно будет добавить в конфигурацию дополнительный порт (ы) и / или адрес (а). Match позволит изменить только некоторые свойства. Документацию для sshd.config
который может быть выведен командой man sshd_config
. Строка соответствия может выглядеть так:
Match LocalPort 1022
В качестве альтернативы решению, опубликованному BillThor (с использованием двух отдельных файлов конфигурации), вы можете проверить Match
директива в sshd_config (5) которые можно использовать, применяя разные конфигурации для каждого IP-адреса пользователя / группы / клиента.
Можно было бы использовать контейнер Docker с Alpine Linux и OpenSSH. Размер результирующего изображения меньше 20 МБ, и при правильном использовании дополнительный уровень косвенного обращения может также повысить безопасность, если это сервер с выходом в Интернет. Togehter с sshfs
вы также сможете выборочно монтировать удаленные файловые системы.