Как я могу настроить открытый ssh-сервер так, чтобы, если я ssh'ng из локальной сети, я хотел, чтобы он был через порт 22, но если я иду извне, то через порт 12345, например.
Тогда для внешнего доступа я хотел бы использовать несколько других (более строгих) правил в sshd_config
.Eric Carvalho отвечает на работы для пред 15,04, но они удержали от использования и затем удалили выскочку из Ubuntu, SystemdForUpstartUsers.
Эти шаги были адаптированы для работы с systemd.
Копия конфигурационный файл SSH:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_external
Копия systemd конфигурационный файл:
sudo cp /lib/systemd/system/ssh.service /lib/systemd/system/sshd-external.service
в новом файле (/lib/systemd/system/sshd-external.service
) изменяют строку:
ExecStart=/usr/sbin/sshd -D $SSHD_OPTS
к:
ExecStart=/usr/sbin/sshd -D $SSHD_OPTS -f /etc/ssh/sshd_config_external
и строка:
Alias=sshd.service
к:
Alias=sshd-external.service
Теперь настраивают /etc/ssh/sshd_config_external
к Вашим потребностям (например, изменение Port 22
к Port 12345
)
включают сервис
<забастовка> sudo ln -s /lib/systemd/system/ssh-external.service /etc/systemd/system/sshd-external.service
забастовка>
, Если Вы работали, вышеупомянутая команда затем работает sudo systemctl disable sshd-external.service
прежде, чем выполнить следующую команду
sudo systemctl enable sshd-external.service
sudo service sshd-external start
, Это было протестировано на Ubuntu 16.04 на реальных аппаратных средствах и виртуальной машине в virtualbox.
Сообщенный мне, если это не работает. Я, как было известно, сделал опечатки.
Создайте другой сервисный экземпляр SSH.
Скопируйте конфигурационный файл SSH:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_external
Скопируйте новомодный конфигурационный файл:
sudo cp /etc/init/ssh.conf /etc/init/ssh-external.conf
В новом файле (ssh-external.conf
), измените строку:
mkdir -p -m0755 /var/run/sshd
кому:
mkdir -p -m0755 /var/run/sshd-external
И изменение строка:
exec /usr/sbin/sshd -D
кому:
exec /usr/sbin/sshd -D -f /etc/ssh/sshd_config_external
Создайте ссылку на выскочку:
sudo ln -s /lib/init/upstart-job /etc/init.d/ssh-external
Теперь настройте /etc/ssh/sshd_config_external
к Вашим потребностям (например, изменение Port 22
кому: Port 12345
) и запустите сервис:
sudo service ssh-external start