Мой опыт работы с Linux ограничен, и в рамках проекта я заказал выделенный сервер Linux. Это неуправляемый сервер с OpenSuSE 13.2. Когда я пытаюсь подключиться к серверу по ssh, я получаю сообщение об отказе в соединении
ssh: connect to host xxx.xxx... port 22: Connection refused
Я думаю, что в их образе по умолчанию не включен ssh при запуске, но я могу ошибаться. Они предоставляют систему аварийного восстановления, которая представляет собой систему Linux, установленную и загружаемую из оперативной памяти для устранения неполадок. Когда я загружаю это, я могу подключиться к системе через SSH. Я могу смонтировать жесткий диск и внести изменения.
Я хотел бы знать, как проверить и / или какие изменения конфигурации необходимо внести, чтобы включить ssh при запуске для OpenSuSE 13.2 изнутри система восстановления. При необходимости я могу предоставить любое содержимое файла конфигурации. Я в основном работаю с Windows, и поэтому, если вы можете предоставить подробные шаги, это будет полезно.
В рамках своего исследования я проверил файл init.d, не нашлось sshd
файл там, ssh установлен, я думаю, поскольку существуют файлы в /etc/ssh
например / etc / ssh / sshd_config.
1. Проверьте установку
Бегать which sshd
чтобы получить путь, из которого он вызывается. Если вы не получите /usr/sbin/sshd
в ответ скорее всего не устанавливается.
2. Установка sshd
Бегать zypper in openssh
для установки приложения.
3. Проверьте брандмауэр.
Запустите команду cat /etc/sysconfig/SuSEfirewall2 | grep sshd
.
Тебе нужно увидеть FW_CONFIGURATIONS_EXT="sshd"
- Это означает, что брандмауэр разрешает входящий трафик на порт 22.
Если вы не найдете его, вы можете добавить его с помощью текстового редактора, например:
vi /etc/sysconfig/SuSEfirewall2
и найдите строку, в которой написано FW_CONFIGURATIONS_EXT=""
и измените его на FW_CONFIGURATIONS_EXT="sshd"
4. Убедитесь, что служба запущена.
systemctl status sshd | grep Active
- Если вы получите Active: inactive (dead)
тебе нужно начать с systemctl start sshd
.
Снова запустите команду systemctl status sshd | grep Active
и теперь ты должен увидеть Active: active (running) since ...
5. Включите SSH при запуске.
systemctl enable sshd
OpenSUSE начиная с Leap 15, а Tumbleweed избавился от старого брандмауэра в пользу Firewalld как используется в Fedora. Это меняет способ добавления конфигурации SSH:
firewall-cmd --add-service=ssh --zone=external --permanent
--add-service = ssh Поскольку SSH является одной из предопределенных служб, вы можете использовать ее как службу. Альтернативный вариант --add-port=22
.
--zone = внешний Обновляет внешнюю зону. Зоны назначаются интерфейсам.
- постоянный Сохраняет это изменение при перезагрузке.
Чтобы убедиться, что это сделано, файлы XML в /etc/firewalld/zones
можно изучить.
<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>External</short>
<description>For use on external networks.</description>
<interface name="eth0"/>
<service name="ssh"/>
<masquerade/>
</zone>