Нажмите на 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 ответов:
если он просит вас имя пользователя и пароль, ваш удаленный источник указывает на 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 и как его использовать: шаг за шагом
в случае, если вы действительно используете 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]