Нажмите на github без пароля с помощью ssh-ключа


я сгенерировал пару ключей без пароля и добавил открытый ключ в github. Связь с

user@dev:/var/www/project# ssh -T git@github.com
Hi User! You've successfully authenticated, but GitHub does not provide shell access.

был успешным, и когда я переименовываю ключ, он терпит неудачу. Но когда я хочу нажать мои изменения, он все еще спрашивает меня о моей комбинации имени пользователя/пароля.

есть ли способ нажать без пароля?

5 171

5 ответов:

если он просит вас имя пользователя и пароль, ваш удаленный источник указывает на url https, а не на url ssh.

измените его на ssh.

например, проект github, такой как Git, будет иметь url https

https://github.com/<Username>/<Project>.git

и ssh один:

git@github.com:<Username>/<Project>.git

вы можете сделать:

git remote set-url origin git@github.com:<Username>/<Project>.git

чтобы изменить url.

кроме того, для gists, кажется, вы должны оставить имя пользователя

git remote set-url origin git@gist.github.com:<Project code>

вы должны использовать SSH версия HTTPS.При клонировании из репозитория скопируйте ссылку с помощью SSH версия, потому что SSH проста в использовании и решает все проблемы с доступом.Вы можете установить доступ для каждого SSH, который вы вводите в свою учетную запись (например, push, pull, clone и т. д...)

вот ссылка, которая говорит, Зачем нам нужен ssh и как его использовать: шаг за шагом

Git генерирует SSH ключи

в случае, если вы действительно используете SSH URL, но все равно просят имя пользователя и пароль при нажатии git:

git remote set-url origin git@github.com:<Username>/<Project>.git

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

ssh -vT git@github.com

ниже приведен фрагмент вывода образца:

...
debug1: Trying private key: /c/Users/Yuci/.ssh/id_rsa
debug1: Trying private key: /c/Users/Yuci/.ssh/id_dsa
debug1: Trying private key: /c/Users/Yuci/.ssh/id_ecdsa
debug1: Trying private key: /c/Users/Yuci/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).

я на самом деле уже добавил открытый ключ к GitHub раньше, и у меня также есть закрытый ключ локально. Однако мой закрытый ключ имеет другое имя, называемое /c/Users/Yuci/.ssh/github_rsa.

согласно выходу образца, ГИТ пытается /c/Users/Yuci/.ssh/id_rsa, которого у меня нет. Поэтому я мог бы просто скопировать github_rsa до id_rsa в том же каталоге.

cp /c/Users/Yuci/.ssh/github_rsa /c/Users/Yuci/.ssh/id_rsa

теперь, когда я запускаю ssh -vT git@github.com опять же, у меня есть:

...
debug1: Trying private key: /c/Users/Yuci/.ssh/id_rsa
debug1: Authentication succeeded (publickey).
...
Hi <my username>! You've successfully authenticated, but GitHub does not provide shell access.
...

и теперь я могу нажать на GitHub без запроса имени пользователя и пароля :-)

С помощью командной строки:
Введите ls -al ~/.ssh чтобы увидеть, если существующие ключи SSH присутствует
В терминале показать: нет каталога не существует
Затем создайте новый ключ SSH
Шаг 1.

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Шаг 2.

Enter a file in which to save the key (/Users/you/.ssh/id_rsa): <here is file name and enter the key>

Шаг 3.

Enter passphrase (empty for no passphrase): [Type a password]

Enter same passphrase again: [Type password again]