К основному контенту

Подключение к Ubuntu серверу через SSH

Чтобы подключиться к серверу, нужно использовать SSH ключ. Но для использования этого ключа, сначала надо понизить уровень доступа к файлу ключа в операционной системе. В Linux и Windows это делается по-разному. Если этого не сделать, а сразу попытаться подключиться, то вы увидите в консоли ошибку вроде такой:


 Linux

В терминале перейдите в папку с ключом и выполните команду:

$> chmod 400 mykey.pem

При необходимости может понадобиться выполнить эту команду в режиме sudo (просто приписать вначале). Если команда выполнилась успешно, то можно переходить к подключению.

В терминале выполните команду:

$> ssh <имя_пользователя>@<публичный_IP-адрес_виртуальной_машины>

Если у вас несколько закрытых ключей, укажите нужный:

$> ssh -i <путь_к_ключу/имя_файла_ключа> <имя_пользователя>@<публичный_IP-адрес_виртуальной_машины>

При первом подключении к машине появится предупреждение о неизвестном хосте:

The authenticity of host '130.193.40.101 (130.193.40.101)' can't be established.
ECDSA key fingerprint is SHA256:PoaSwqxRc8g6iOXtiH7ayGHpSN0MXwUfWHkGgpLELJ8.
Are you sure you want to continue connecting (yes/no)?

Введите в терминале слово yes и нажмите Enter.

 

Windows 10

Откройте PowerShell (не cmd/DOS терминал) в режиме Администратора компьютера. В консоли перейдите в папку с ключом и выполните команды:

$> icacls.exe my-key.pem /reset

$> icacls.exe my-key.pem /grant:r "$($env:username):(r)"

$> icacls.exe my-key.pem /inheritance:r

Если команда выполнилась успешно, то можно переходить к подключению. В командной строке выполните команду:

$> ssh <имя_пользователя>@<публичный_IP-адрес_виртуальной_машины>

Если у вас несколько закрытых ключей, укажите нужный:

$> ssh -i <путь_к_ключу\имя_файла_ключа> <имя_пользователя>@<публичный_IP-адрес_виртуальной_машины>

При первом подключении к машине появится предупреждение о неизвестном хосте:

The authenticity of host '130.193.40.101 (130.193.40.101)' can't be established.
ECDSA key fingerprint is SHA256:PoaSwqxRc8g6iOXtiH7ayGHpSN0MXwUfWHkGgpLELJ8.
Are you sure you want to continue connecting (yes/no)?

Введите в командной строке yes и нажмите Enter

 

Подключение через PuTTY (для более старых Windows 7/8)

В Windows соединение устанавливается с помощью приложения PuTTY.

1.Если ключи предоставлены облачным провайдером, то с вероятностью 90% они сгенерированы на Linux машине. Поэтому, сначала сконвертируйте SSH ключи в формат PuTTY с помощью программы PuTTYgen, которая идёт в комплекте.

Иногда, если приватный и публичный ключ были созданы в Linux или Windows Subsystem for Linux, нужно их сконвертировать в Putty (например, чтобы воспользоваться фичей X11-Forwarding и видеть GUI сервера): это делается программой PUTTYgen

2.  Запустите приложение Pageant.

·         Нажмите правой кнопкой мыши на значок Pageant на панели задач.

·         В контекстном меню выберите пункт Add key.

·         Выберите сгенерированный PuTTY приватный ключ в формате .ppk. Если для ключа задан пароль, введите его.

3.  Запустите приложение PuTTY.

·      В поле Host Name (or IP address) введите публичный IP-адрес виртуальной машины, к которой вы хотите подключиться. Укажите порт 22 и тип соединения SSH.


·      Откройте в дереве слева пункт Connection - SSH - Auth.

·      Установите флаг Allow agent forwarding.

·      В поле Private key file for authentication выберите файл с приватным ключом.


·      Вернитесь в меню Sessions. В поле Saved sessions введите любое название для сессии и нажмите кнопку Save. Настройки сессии сохранятся под указанным именем. Вы сможете использовать этот профиль сессии для подключения с помощью Pageant.


·         Нажмите кнопку Open. Если вы подключаетесь к машине в первый раз, может появиться предупреждение о неизвестном хосте:


·      Нажмите кнопку Да. Откроется окно терминала с предложением ввести логин пользователя, от имени которого устанавливается соединение. Введите имя пользователя, которое вы указали при создании виртуальной машины и нажмите Enter. Если все настроено верно, будет установлено соединение с сервером.

Если вы сохранили профиль сессии в PuTTY, в дальнейшем для установки соединения можно использовать Pageant:

  1. Нажмите правой кнопкой мыши на значок pageant на панели задач.
  2. Выберите пункт меню Saved sessions.
  3. В списке сохраненных сессий выберите нужную сессию.

Комментарии

Популярные сообщения из этого блога

Делаем себе бесплатный VPN на Amazon EC2

Читать этот пост в Telegraph. Другие посты в канале в Telegram. Кто только не расписывал уже пошаговые инструкции по этой теме. Однако, время идёт, ПО меняется, инструкции нуждаются в обновлении, а люди в современной России всё больше нуждаются в применении VPN. Я собираюсь описать все шаги для создания бесплатного сервера на Amazon EC2 с операционной системой Linux и необходимые команды для настройки VPN сервера на нём. Чтобы не повторяться о деталях, которые были много раз описаны на русскоязычных и англоязычных ресурсах, по ходу статьи я просто приведу целую кипу ссылок, где можно почерпнуть необходимую информацию, а где информация устарела - опишу подробнее что нужно сдеать. В итоге, сервер будет доступен для вас из любой точки планеты, с любой операционной системы, и бесплатно (с определёнными ограничениями по трафику). Шаг первый - Регистрируемся на Amazon AWS Нужно зайти на сайт https://aws.amazon.com/ru и сразу перейти к Регистрации, нажав одноимённую кнопку. При р

В помощь программисту: инструкции по работе с Ubuntu сервером

Программистам чаще приходится писать код и заботиться о его чистоте, правильных абстракциях в коде, корректных зависимостях и прочих сложностях профессии. При этом, настройка и обслуживание серверов, хоть и связанная область - это отдельный навык, необходимый не каждому, и помнить о котором в деталях сложно. Поэтому, я делаю ряд микро-инструкций, которыми буду пользоваться и сам, когда необходимо. Это не статьи, а пошаговые помощники, которые я буду дополнять и наполнять по мере надобности. Делаем бесплатный VPN на Amazon EC2 Создание ключей SSH Подключение к серверу через SSH Передача файла с Linux сервера наWindows машину Делаем VPN сервер на Ubuntu 20.04 используя OpenVPN и EasyRSA  Отображение GUI с Linux сервера на Windows машине

Выбираем все плюсы из трех парадигм Entity Framework

Между парадигмами разработки с Entity Framework (Code First, Model First, Database First) я выбрал промежуточную, потому что ни одна меня не устраивала полностью. В Code First меня радуют чистые POCO классы, но не устраивает невозможность моделирования базы. В Database First и Model First мне не нравится генерация EDMX и другого всего лишнего. Таким образом, я нашел для себя такое решение: 1. Я моделирую схему в любой удобной программе (тут любая внешняя программа моделирования, генерирующая SQL Server-совместимые скрипты генерации базы) Рис. Смоделированная схема БД. 2. Создаю базу в SQL Management Studio 3. Делаю Reverse Engineering базы в POCO классы (как в Code First) с помощью плагина Entity Framework Power Tools Рис. Установленный плагин для Reverse Engineer. Рис. Вот так делается Reverse Engineer базы данных в POCO классы. Рис. Результат генерации POCO классов на основе базы данных: папочка Models с готовым контекстом, классами объектов и маппинг-классами.