Intereting Posts
Использование grep для поиска текстов с одной цитатой? Я хочу проверить, использует ли Ubuntu графическую карту NVIDIA Соответствие Grey Regex не возвращает результат, как ожидалось Забавный классический настольный компьютер Gnome Ubuntu 14.04 Сетевой адаптер UBUNTU не может обнаружить модемное устройство Huawei ETS2051! Мой интернет медленный, так как я установил Ubuntu Не удалось запустить службу vpn (pptp) «Супер + D» скрывает диалог копирования навсегда Автомат SPDIF отключается Я не могу зарегистрироваться в Ubuntu. Изображения captcha не авторизуют мой ввод, хотя я уверен, что у меня все в порядке Соединение закрыто удаленным хостом после нажатия вкладки для автозаполнения Linux ubuntu может загружать grub после удаления окон 8.1, двойная загрузка, см. Reults.txt ниже Можно ли параллельно устанавливать OpenOffice и LibreOffice? Ищете небольшое исправление для Ambiance themed Nautilus window! Как GIMP 2.8 может иметь два разных значка?

2 конфигурации sshd 1 для внутренних и 1 внешних

Как настроить открытый ssh-сервер так, чтобы, если я ssh'ng из локального lan, я хочу, чтобы он был через порт 22, но если я прихожу наружу через его порт 12345, например.

Затем для внешнего доступа мне нужны некоторые другие (более строгие) правила в sshd_config

Ответ Эрика Карвалью работает до 15.04, но они устарели, а затем удалили выскочку из Ubuntu, SystemdForUpstartUsers .

Эти шаги были адаптированы для работы с systemd.

  1. Скопируйте конфигурационный файл SSH:

    sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_external

  2. Скопируйте файл конфигурации 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

  3. Теперь настройте /etc/ssh/sshd_config_external для ваших нужд (например, измените Port 22 на Port 12345 )

  4. включить услугу

    sudo ln -s /lib/systemd/system/ssh-external.service /etc/systemd/system/sshd-external.service

    Если вы sudo systemctl disable sshd-external.service выше команду, запустите sudo systemctl disable sshd-external.service перед запуском следующей команды

    sudo systemctl enable sshd-external.service

    sudo service sshd-external start

Это было протестировано на Ubuntu 16.04 на реальном оборудовании и виртуальной машине в виртуальном боксе.

Дайте мне знать, если это не сработает. Я, как известно, делаю опечатки.

Создайте другой экземпляр службы SSH.

  1. Скопируйте конфигурационный файл SSH:

     sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_external 
  2. Скопируйте файл конфигурации выскочки:

     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 
  3. Создайте ссылку для выскочки:

     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