У меня есть капля DigitalOcean, работающая на Ubuntu 16.04, к которой я пытаюсь получить доступ через PuTTY (клиент SSH).
Всякий раз, когда я подключаюсь к капле, мне предлагается ввести логин, как и ожидалось, однако после ввода пароля для учетной записи пользователя он снова запрашивает его, как если бы пароль был неверным. Я могу уточнить 110% что пароль правильный. Увидеть ниже:
Я могу получить доступ к консоли через панель управления капли на веб-сайте DigitalOcean, а данные для входа, которые я использую, идентичны данным PuTTY.
Используя консоль, которую я могу использовать через панель управления DigitalOcean, я проверил свои настройки UFW, и OpenSSH разрешен полностью.
Как я могу решить эту проблему? Мне нужен SSH-доступ с PuTTY и других внешних терминалов.
Не рекомендуется использовать имя пользователя / пароль для облачных экземпляров, так как пароли могут быть взломаны.
Вместо этого используйте ssh-ключи.
Когда вы вошли в экземпляр через веб-консоль, введите:
ssh-keygen -t rsa
и продолжайте нажимать «Enter», пока не получите новую строку приглашения.
Это сгенерирует закрытый и открытый ключи для вашего экземпляра.
Затем введите:
cat ~/.ssh/id_rsa
Скопируйте содержимое и вставьте его в файл на вашем компьютере с Windows (для этого рекомендуется Notepad ++, так как блокнот может добавлять лишние невидимые символы), например: my_private_key.pem
Далее скачиваем PuttyGen, откройте его и загрузите созданный вами файл ключа, затем нажмите «Сохранить закрытый ключ» и перезапишите файл ключа (my_private_key.pem).
Затем настройте Putty следующим образом:
На левой панели разверните Connection -> SSH -> AUTH, а на правой панели нажмите «Обзор» и выберите ключ.
На левой панели снова нажмите «Данные» и вставьте имя пользователя, которое вы используете для входа в экземпляр.
Вернитесь в «Сеанс», введите публичный IP-адрес экземпляра, дайте подключению имя и нажмите «Сохранить».
Затем дважды щелкните имя, которое вы дали сеансу, и он должен подключиться автоматически с использованием закрытого ключа и без необходимости вводить пароль.