Я оглядывался по сторонам и не мог найти решение своей проблемы. Я использую Ubuntu 16.04 LTS , и я следовал инструкциям на странице Ubuntu для изменения порта SSH на 2222 путем обновления файла sshd_config .

# What ports, IPs and protocols we listen for
Port 2222

Однако когда я выполняю команду sudo systemctl restart sshd.service , я получаю только следующую ошибку:

Job for ssh.service failed because the control process exited with error code. See "systemctl status ssh.service" and "journalctl -xe" for details.

Затем я выполнил команду systemctl status ssh.service и получил

● ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2016-09-07 23:24:04 EDT; 1min 28s ago
  Process: 16813 ExecStart=/usr/sbin/sshd -D $SSHD_OPTS (code=exited, status=255)
 Main PID: 16813 (code=exited, status=255)

Sep 07 23:24:04 sys-0 systemd[1]: Starting OpenBSD Secure Shell server...
Sep 07 23:24:04 sys-0 systemd[1]: ssh.service: Main process exited, code=exited, status=255/n/a
Sep 07 23:24:04 sys-0 systemd[1]: Failed to start OpenBSD Secure Shell server.
Sep 07 23:24:04 sys-0 systemd[1]: ssh.service: Unit entered failed state.
Sep 07 23:24:04 sys-0 systemd[1]: ssh.service: Failed with result 'exit-code'.

Что означает ошибка, и как я могу ее исправить?

3 ответа3

1

Как сказал @techraf, скорее всего, вы допустили простую ошибку в вашем /etc/ssh/sshd_config . Попробуйте режим тестирования sshd:

$ sudo sshd -t
/etc/ssh/sshd_config: line 1: Bad configuration option: sds

С man-страницы:

  • -t Тестовый режим. Только проверяйте действительность файла конфигурации и работоспособность ключей. Это полезно для надежного обновления sshd, поскольку параметры конфигурации могут измениться.
  • -T Расширенный тестовый режим. Проверьте правильность файла конфигурации, выведите действующую конфигурацию в стандартный вывод и затем завершите работу. По желанию, правила соответствия могут применяться путем указания параметров соединения с использованием одной или нескольких опций -C.
1

Вы работаете в системе, которая использует SELinux? Возможно, это отрицает привязку порта; попробуйте добавить новое правило.

semanage port -a -t ssh_port_t -p tcp 2222
0
cd /etc/ssh/sshd_config

или же

sudo vim /etc/ssh/sshd_config

а также

закомментируйте эту строку Subsystem sftp /usr/lib/openssh/sftp-server . Я имею в виду изменить эту строку Subsystem sftp /usr/lib/openssh/sftp-server с помощью #Subsystem sftp /usr/lib/openssh/sftp-server

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .