ssh key validation not working/ ssh: connect to host *** port 22: Connection refused

Я следую относительно короткому и простому руководству по этому вопросу (https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys--2)

Шаг первый - создание пары ключей RSA

ssh-keygen -t rsa

"Ваш открытый ключ был сохранен в /Users/justinobrien/.ssh/id_rsa.pub". Хорошо. Я переименовал открытый и закрытый ключи в 'justin' и 'justin.pub' (так как я должен сделать это и для пользователя root).

Шаг третий - скопируйте открытый ключ: Вы можете вставить ключи с помощью ssh:

cat ~/.ssh/id_rsa.pub | ssh demo@198.51.100.0 "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >>  ~/.ssh/authorized_keys"

Я заменил ip на свой ip, имя моих файлов и имя моего пользователя ('justin') так:

cat ~/.ssh/justin.pub | ssh justin@42.93..***"mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >>  ~/.ssh/authorized_keys"

"You may see something like:"

The authenticity of host '198.51.100.0 (198.51.100.0)' can't be established.
RSA key fingerprint is b1:2d:33:67:ce:35:4d:5f:f3:a8:cd:c0:c4:48:86:12.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '198.51.100.0' (RSA) to the list of known hosts. 
user@198.51.100.0's password:

Но это не то, что я вижу, я ввожу команду выше и получаю только запрос на вход с моим паролем? Т.е. все что я вижу это: justin@142.93.184.125's password:

Обновление, в комментариях ниже я обнаружил, что, возможно, я уже настроил это и мне просто нужно перезапустить сервер: Я выполнил sudo reboot. Теперь я могу попытаться подключиться снова как 'root' или 'Justin' 3 раза, прежде чем меня попросят ввести пароль :

ssh justin@142.93..***
ssh: connect to host 142.93..*** port 22: Operation timed out

ssh justin@142.93..***
ssh: connect to host 142.93..*** port 22: Connection refused

ssh justin@142.93..***
ssh: connect to host 142.93..*** port 22: Connection refused

Если я попробую в четвертый раз, он спросит мой пароль и позволит мне подключиться. Не совсем понимаю, что здесь происходит. Я выполнил sudo ufw allow 22 безрезультатно. Спасибо за любую помощь.

0
задан 20 February 2020 в 20:24

1 ответ

Вы можете указать параметр -v (подробный) в своем SSH-соединении, чтобы увидеть, что происходит под капотом. Сообщение отладки предоставит некоторые указатели для выяснения основной причины.

При копировании открытого ключа вы можете ввести команду следующим образом.

cat ~/.ssh/id_rsa.pub | ssh -v justin@SERVER-IP "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >>  ~/.ssh/authorized_keys"

Обратите внимание, что в приведенной выше команде копирования открытого ключа пропущена часть установки разрешения authorized_keys на 600.

Если вы сгенерируете пару ключей с помощью этой команды:

ssh-keygen -t rsa

Закрытый и открытый ключи будут использовать алгоритм по умолчанию (RSA), длину ключа по умолчанию (2048) и сохранять с именами по умолчанию (~ / .ssh / id_rsa для закрытого ключа и ~ / .ssh / id_rsa.pub) для открытого ключа. Вы не должны изменять имя файла, иначе клиент не сможет обменяться ключами во время установления связи SSH.

Сообщение об ошибке ssh: connect to host 142.93 .. *** port 22: Operation timed out указывает на проблему с сетью, а не на проблему с аутентификацией SSH.

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

0
ответ дан 6 April 2020 в 12:03

Другие вопросы по тегам:

Похожие вопросы: