Я пытаюсь подключиться к удаленному серверу через ssh, но меня всегда перенаправляют на github с сообщением об ошибке, даже если я не пытаюсь подключиться к github:
ssh username@<anyServerName>
username@github.com: Permission denied (publickey).
Обновление: запускал его с -v
и журнал отладки выглядит примерно так:
debug1: Reading configuration data /Users/zenghoulim/.ssh/config
debug1: /Users/zenghoulim/.ssh/config line 3: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 48: Applying options for *
debug1: Connecting to github.com port 22.
debug1: Connection established.
debug1: identity file /Users/zenghoulim/.ssh/id_rsa type 0
debug1: key_load_public: No such file or directory
debug1: identity file /Users/zenghoulim/.ssh/id_rsa-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.7
debug1: Remote protocol version 2.0, remote software version babeld-26093308
debug1: no match: babeld-26093308
debug1: Authenticating to github.com:22 as 'zenghou'
Мой .ssh/config
файл выглядит примерно так:
# --- Sourcetree Generated ---
Host *
HostName github.com
User zenghou
PreferredAuthentications publickey
IdentityFile /Users/zenghoulim/.ssh/id_rsa
UseKeychain yes
AddKeysToAgent yes
# ----------------------------
Я пытался исправить это уже неделю, но не могу найти никаких решений. Любая помощь будет принята с благодарностью!
Вот проблема в твоем .ssh/config
файл:
Host *
В *
означает «применить следующую конфигурацию к каждому SSH-соединению, независимо от того, какое имя хоста вы используете».
Следующая строка, HostName github.com
означает «независимо от того, какое имя хоста вы пишете в командной строке, ssh всегда должен подключаться к github.com.
Если вы не хотите, чтобы эти строки конфигураций применялись ко всем хостам, вам следует изменить Host *
применять только к тем хостам, для которых они действительно нужны - возможно Host *.github.com
или то, что вы действительно хотите использовать.