Linux ssh connect to host

Connecting to Your Instance

You connect to a running Linux instance using a Secure Shell (SSH) connection. Most Linux and UNIX-like operating systems include an SSH client by default. Windows 10 and Windows Server 2019 systems should include the OpenSSH client, which you’ll need if you created your instance using the SSH keys generated by Oracle Cloud Infrastructure . For other Windows versions, you can download a free SSH client called PuTTY from http://www.putty.org.

Before You Begin

  • You know the public IPВ address of your instance. See Launching a Linux Instance.
  • You know the path to the private key file.

Connecting to Your Linux Instance Using SSH

Log in to the instance using SSH.

Use the following command to set the file permissions so that only you can read the file:

is the full path and name of the file that contains the private key associated with the instance you want to access.

Use the following SSHВ command to access the instance.

Note

Copy the following example to ensure the correct characters are used. If the wrong character is used in ssh -i , a Could not resolve hostname . No such host is known. error might occur.

is the full path and name of the file that contains the private key associated with the instance you want to access.

is the default username for the instance. For Oracle Linux and CentOS images, the default username is opc . For Ubuntu images, the default username is ubuntu .

is your instance IPВ address that you retrieved from the Console .

If the instance uses a key pair that was generated by Oracle Cloud Infrastructure , use the following procedure.

If this is the first time you are using this key pair, you must set the file permissions so that only you can read the file. Do the following:

  1. In Windows Explorer, navigate to the private key file, right-click the file, and then click Properties.
  2. On the Security tab, click Advanced.
  3. On the Permissions tab, for Permission entries, under Principal, ensure that your user account is listed.
  4. Click Disable Inheritance, and then select Convert inherited permissions into explicit permissions on this object.
  5. For Permission entries, select each permission entry that is not your user account and click Remove.
  6. Ensure that the access permission for your user account is Full control.
  7. Save your changes.

To connect to the instance, open Windows PowerShell and run the following command:

Note

Copy the following example to ensure the correct characters are used. If the wrong character is used in ssh -i , a Could not resolve hostname . No such host is known. error might occur.

is the full path and name of the file that contains the private key associated with the instance you want to access.

is the default username for the instance. For Oracle Linux and CentOS images, the default username is opc . For Ubuntu images, the default username is ubuntu .

is your instance IPВ address that you retrieved from the Console .

Читайте также:  Wifi radar linux настройка
  • If you’re connecting to this instance for the first time, you need to accept the fingerprint of the key. To accept the fingerprint, type yes and press Enter.
  • SSH private key files generated by Oracle Cloud Infrastructure are not compatible with PuTTY. If you are using a private key file generated during the instance creation process you need to convert the file to a .ppk file before you can use it with PuTTY to connect to the instance.

    Note

    If you changed the file permissions on your key to connect from a Windows system using OpenSSH, the key will not work with a PuTTY connection. Use OpenSSH to connect instead.

    Convert a generated .key private key file:

    Click Load, and select the private key generated when you created the instance. The extension for the key file is .key .

    Click Save private key.

    Specify a name for the key. The extension for new private key is .ppk .

    Connect to the Linux instance using a .ppk private key file:

    If the instance uses a key pair that you created using PuTTY Key Generator, use the following procedure.

    In the Category pane, select Session and enter the following:

    Host Name (or IP address):

    is the default username for the instance. For Oracle Linux and CentOS images, the default username is opc . For Ubuntu images, the default username is ubuntu .

    is your instance public IPВ address that you retrieved from the Console

    Click Browse, and then select your .ppk private key file.

    Click Open to start the session.

    If this is your first time connecting to the instance, you might see a message that the server’s host key is not cached in the registry. Click Yes to continue the connection.

    Tip

    If the connection fails, you may need to update your PuTTY proxy configuration.

    Running Administrative Tasks on the Instance

    When you’re logged in as the default user, opc , you can use the sudo command to run administrative tasks.

    What’s Next

    Now that you’ve got an instance and have successfully connected to it, consider the following next steps:

    Install software on the instance.

  • Add a block volume. See Adding a Block Volume.
  • Add more users to work with Oracle Cloud Infrastructure . See Adding Users.
  • Allow additional users to connect to your instance. See Adding Users to an Instance.
  • Or, if you are finished with your instance, delete the resources that you created in the tutorial. See Cleaning Up Resources from the Tutorial.
  • If you’re having trouble connecting, see Troubleshooting the SSH Connection.

    Источник

    Устранение неполадок SSH: проблемы с подключением к серверу

    В первой статье этой серии вы узнали о том, как и в каких ситуациях вы можете попробовать исправить ошибки SSH. Остальные статьи расскажут, как определить и устранить ошибки:

    • Ошибки протокола: в этой статье вы узнаете, что делать, если сбрасываются клиентские соединения, клиент жалуется на шифрование или возникают проблемы с неизвестным или измененным удаленным хостом.
    • Ошибки аутентификации: поможет устранить проблемы с парольной аутентификацией или сбросом SSH-ключей.
    • Ошибки оболочки: это руководство поможет исправить ошибки ветвления процессов, валидации оболочки и доступа к домашнему каталогу.

    Для взаимодействия SSH-клиента с SSH-сервером необходимо установить базовое сетевое подключение. Это руководство поможет определить некоторые общие ошибки подключения, исправить их и предотвратить их возникновение в будущем.

    Читайте также:  Как правильно настроит windows

    Требования

    • Убедитесь, что можете подключиться к виртуальному серверу через консоль.
    • Проверьте панель на предмет текущих проблем, влияющих на работу и состояние сервера и гипервизора.

    Основные ошибки

    Разрешение имени хоста

    Большинство ошибок подключения возникает тогда, когда ссылка на хост SSH не может быть сопоставлена с сетевым адресом. Это почти всегда связано с DNS, но первопричина часто бывает не связана с DNS.

    На клиенте OpenSSH эта команда:

    может выдать ошибку:

    ssh: Could not resolve hostname example.com: Name or service not known

    В PuTTY может появиться такая ошибка:

    Unable to open connection to example.com Host does not exist

    Чтобы устранить эту ошибку, можно попробовать следующее:

    • Проверьте правильность написания имени хоста.
    • Убедитесь, что вы можете разрешить имя хоста на клиентской машине с помощью команды ping. Обратитесь к сторонним сайтам (WhatsMyDns.net, например), чтобы подтвердить результаты.

    Если у вас возникают проблемы с разрешением DNS на любом уровне, в качестве промежуточного решения можно использовать IP-адрес сервера, например:

    ssh user@111.111.111.111
    # вместо
    ssh user@example.com.

    Истечение времени соединения

    Эта ошибка значит, что клиент попытался установить соединение с SSH-сервером, но сервер не смог ответить в течение заданного периода ожидания.

    На клиенте OpenSSH следующая команда:

    выдаст такую ошибку:

    ssh: connect to host 111.111.111.111 port 22: Connection timed out

    В PuTTY ошибка выглядит так:

    Network error: Connection timed out

    Чтобы исправить ошибку:

    • Убедитесь, что IP-адрес хоста указан правильно.
    • Убедитесь, что сеть поддерживает подключение через используемый порт SSH. Некоторые публичные сети могут блокировать порт 22 или пользовательские SSH-порты. Чтобы проверить работу порта, можно, например, попробовать подключиться к другим хостам через этот же порт. Это поможет вам определить, не связана ли проблема с самим сервером.
    • Проверьте правила брандмауэра. Убедитесь, что политика по умолчанию – не DROP.

    Отказ в соединении

    Эта ошибка означает, что запрос передается на хост SSH, но хост не может успешно принять запрос.

    На клиенте OpenSSH следующая команда выдаст ошибку:

    ssh user@111.111.111.111
    ssh: connect to host 111.111.111.111 port 22: Connection refused

    В PuTTY ошибка появится в диалоговом окне:

    Network error: Connection refused

    Эта ошибка имеет общие с ошибкой Connection Timeout причины. Чтобы исправить её, можно сделать следующее:

    • Убедиться, что IP-адрес хоста указан правильно.
    • Убедиться, что сеть поддерживает подключение через используемый порт SSH. Некоторые публичные сети могут блокировать порт 22 или пользовательские SSH-порты. Чтобы проверить работу порта, можно, например, попробовать подключиться к другим хостам через этот же порт.
    • Проверить правила брандмауэра. Убедитесь, что политика по умолчанию – не DROP, и что брандмауэр не блокирует этот порт.
    • Убедиться, что сервис запущен и привязан к требуемому порту.

    Рекомендации по исправлению ошибок подключения

    Брандмауэр

    Иногда проблемы с подключением возникают из-за брандмауэра. Он может блокировать отдельные порты или сервисы.

    В разных дистрибутивах используются разные брандмауэры. Вы должны научиться изменять правила и политики своего брандмауэра. В Ubuntu обычно используется UFW, в CentOS – FirewallD. Брандмауэр iptables используется независимо от системы.

    Читайте также:

    Чтобы настроить брандмауэр, нужно знать порт сервиса SSH. По умолчанию это порт 22.

    Чтобы запросить список правил iptables, введите:

    Такой вывод сообщает, что правил, блокирующих SSH, нет:

    Chain INPUT (policy ACCEPT)
    target prot opt source destination
    Chain FORWARD (policy ACCEPT)
    target prot opt source destination
    Chain OUTPUT (policy ACCEPT)
    target prot opt source destination

    Если в выводе вы видите правило или политику по умолчанию REJECT или DROP, убедитесь, что цепочка INPUT разрешает доступ к порту SSH.

    Читайте также:  Как удалить раздел зарезервировано системой windows

    Чтобы запросить список правил FirewallD, введите:

    Список, появившийся на экране, содержит все сервисы, которые поддерживаются брандмауэром. В списке должно быть правило:

    dhcpv6-client http ssh

    Если вы настроили пользовательский порт SSH, используйте опцию –list-ports. Если вы создали пользовательское определение сервиса, добавьте опцию –list-services, чтобы найти SSH.

    Чтобы проверить состояние UFW, введите:

    Команда вернёт доступные порты:

    Status: active
    To Action From
    — —— —-
    22 LIMIT Anywhere
    443 ALLOW Anywhere
    80 ALLOW Anywhere
    Anywhere ALLOW 192.168.0.0
    22 (v6) LIMIT Anywhere (v6)
    443 (v6) ALLOW Anywhere (v6)
    80 (v6) ALLOW Anywhere (v6)

    В списке должен быть порт SSH.

    Проверка состояния сервиса SSH

    Если вы не можете подключиться к серверу по SSH, убедитесь, что сервис SSH запущен. Способ сделать это зависит от операционной системы сервера. В более старых версиях дистрибутивов (Ubuntu 14.04, CentOS 6, Debian 8) используется команда service. Современные дистрибутивы на основе Systemd используют команду systemctl.

    Метод проверки состояния сервиса может варьироваться от системы к системе. В более старых версиях (Ubuntu 14 и ниже, CentOS 6, Debian 6) используется команда service, поддерживаемая системой инициализации Upstart, а в более современных дистрибутивах для управления сервисом используется команда systemctl.

    Примечание: В дистрибутивах Red Hat (CentOS и Fedora) сервис называется sshd, а в Debian и Ubuntu – ssh.

    В более старых версия используйте команду:

    service ssh status

    Если процесс работает должным образом, вы увидите вывод, который содержит PID:

    ssh start/running, process 1262

    Если сервис не работает, вы увидите:

    В системах на основе SystemD используйте:

    systemctl status sshd

    В выводе должна быть строка active:

    sshd.service — OpenSSH server daemon
    Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
    Active: active (running) since Mon 2017-03-20 11:00:22 EDT; 1 months 1 days ago
    Process: 899 ExecStartPre=/usr/sbin/sshd-keygen (code=exited, status=0/SUCCESS)
    Main PID: 906 (sshd)
    CGroup: /system.slice/sshd.service
    ├─ 906 /usr/sbin/sshd -D
    ├─26941 sshd: [accepted] └─26942 sshd: [net]

    Если сервис не работает, вы увидите в выводе inactive:

    sshd.service — OpenSSH server daemon
    Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
    Active: inactive (dead) since Fri 2017-04-21 08:36:13 EDT; 2s ago
    Process: 906 ExecStart=/usr/sbin/sshd -D $OPTIONS (code=exited, status=0/SUCCESS)
    Process: 899 ExecStartPre=/usr/sbin/sshd-keygen (code=exited, status=0/SUCCESS)
    Main PID: 906 (code=exited, status=0/SUCCESS)

    Чтобы перезапустить сервис, введите соответственно:

    service ssh start
    systemctl start sshd

    Проверка порта SSH

    Существует два основных способа проверить порт SSH: проверить конфигурационный файл SSH или просмотреть запущенный процесс.

    Как правило, конфигурационный файл SSH хранится в /etc/ssh/sshd_config. Стандартный порт 22 может переопределяться любой строкой в этом файле, определяющей директиву Port.

    Запустите поиск по файлу с помощью команды:

    grep Port /etc/ssh/sshd_config

    Если вы уже убедились, что сервис работает, теперь вы можете узнать, работает ли он на требуемом порте. Для этого используйте команду ss. Команда netstat –plnt выдаст аналогичный результат, но команду ss рекомендуется использовать для запроса информации сокета из ядра.

    В выводе должно быть указано имя программы и порт, который она прослушивает. Например, следующий вывод сообщает, что сервис SSH прослушивает все интерфейсы и порт 22.

    State Recv-Q Send-Q Local Address:Port Peer Address:Port
    LISTEN 0 128 *:22 *:* users:((«sshd»,pid=1493,fd=3))
    LISTEN 0 128 . 22 . * users:((«sshd»,pid=1493,fd=4))

    Символ * и 0.0.0.0 указывает, что все интерфейсы сервера прослушиваются. Строка 127.0.0.1 значит, что сервис не является общедоступным. В sshd_config директива ListenAddress должна быть закомментирована, чтобы прослушивать все интерфейсы, или должна содержать внешний IP-адрес сервера.

    Если у вас не получается самостоятельно настроить соединение SSH, вы можете обратиться за помощью к службе поддержки своего хостинг-провайдера.

    Источник

    Оцените статью