1

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

Недавно я включил удаленный доступ на своем ноутбуке под управлением macOS High Sierra. Тем не менее, у меня изначально были проблемы с подключением. Когда я запускал ssh localhost он запрашивал пароль, который он всегда отклонял. Когда я запустил ssh ${USER}@localhost мои SSH-ключи заработали, и я сразу же вошел в систему.

Подняв многословие, я заметил, что ssh localhost пытается аутентифицироваться как firstname.lastname , но моя учетная запись пользователя и переменная $USER имеют firstnamelastname (без точки). Это объясняет, почему ssh ${USER}@localhost работал, а другой - нет.

Так что же дает? Почему ssh пытается аутентифицироваться с помощью $USER? Откуда он получает пунктирную форму?

1 ответ1

4

Если ssh localhost использует имя пользователя, отличное от имени в $USER возможно, в вашем файле конфигурации ssh есть строка, переопределяющая пользователя.

Проверьте в ~/.ssh/config и /etc/ssh/ssh_config


Вы также можете попытаться добавить следующую строку в ~/.ssh/config (создайте файл, если он не существует):

User firstnamelastname

Затем перезапустите ssh:

sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist

и проверьте еще раз ваше имя пользователя ssh по умолчанию в подробном режиме:

ssh -v localhost

Вы должны увидеть такую строку:

debug1: Authenticating to localhost:22 as 'firstnamelastname'

(То есть тот, который вы определили в вашем ~/.ssh/config)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .