5
Host github.com git 
  HostName github.com
  User git
  IdentityFile ~/.ssh/github # I've tried also /home/freinn/.shh/github

Файл /home/freinn/github создан, я должен его создать?

Это полное предупреждение:

Warning: Identity file /home/freinn/github not accessible: No such file or directory.
Hi freinn! You've successfully authenticated, but GitHub does not provide shell access.

[freinn@freinn ruby]$ ssh -v git@github
OpenSSH_5.9p1, OpenSSL 1.0.0j-fips 10 May 2012
debug1: Reading configuration data /home/freinn/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 50: Applying options for *
ssh: Could not resolve hostname github: Name or service not known

2 ответа2

1

Это то, что работает для меня:

Host github
  User git
  Hostname github.com
  IdentityFile ~/.ssh/id_rsa

IdentityFile должен указывать на существующий файл идентификации. Вы можете использовать тильду (~), которая ссылается на домашний каталог пользователя.

В основном ошибка:

Предупреждение: файл идентификации /home /freinn /github недоступен: такого файла или каталога нет.

говоря, что этот файл отсутствует, вам нужно создать его (используя ssh-keygen) или указать существующий файл аутентификации DSA, ECDSA или RSA или использовать файл по умолчанию (удалив или закомментировав строку).

Кроме того, в строке хоста (Host github) вы можете указать шаблон хоста, такой как псевдоним, который вы хотите использовать, так что вы можете использовать git@github вместо полного хоста. Обычно вы хотите использовать определенную запись хоста, однако вы также можете использовать подстановочный знак (*), который будет применять глобальные настройки для всех хостов.

Проверьте дополнительную информацию, выполнив команду man ssh_config .

1

Чтобы аутентификация SSH работала для GitHub, вам необходимо создать пару открытого / закрытого ключа в соответствии с инструкциями GitHub. Параметр IdentityFile должен указывать на любой файл, содержащий закрытый ключ, созданный вами при выполнении этих инструкций.

Похоже, что в любом случае вы просто подключаетесь * - вы видите сообщение об успешном подключении GitHub. Может быть, ваш закрытый ключ GitHub просто ~/.ssh/id_rsa? Если это так, вы можете полностью удалить строку IdentityFile и она будет работать как положено.

Если это поможет, соответствующий раздел моего ~/.ssh/config/ выглядит следующим образом:

Host github.com
    IdentityFile ~/.ssh/id_rsa_github
    IdentitiesOnly yes

... но это работает только потому, что ~/.ssh/id_rsa_github - это место, где я положил свой специфичный для GitHub частный ключ RSA.

* GitHub всегда отвечает: You've successfully authenticated, but GitHub does not provide shell access. когда вы успешно ssh из оболочки.

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