We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
使用SSH协议,我们可以连接并验证远程服务器和服务。使用SSH密钥,我们可以连接到GitHub,而无需在每次访问时提供用户名或密码。
在生成SSH密钥前,应先检查是否已有SSH密钥对
ls -al ~/.ssh
id_rsa
id_rsa.pub
默认情况下,公钥的文件名是以下之一:
id_dsa.pub
id_ecdsa.pub
id_ed25519.pub
如果未发现有类似的公钥和私钥对,则可以按照如下方法生成一个SSH key:
ssh-keygen -t rsa -b 4096 -C " [email protected]"
各参数含义:
-t:密钥类型,一般为dsa,ecdsa,ed25519和rsa这几种,默认为rsa,可省略;
-b:密钥的位数;
-C:注释文字,比如邮箱。
Enter a file in which to save the key (/c/Users/you/.ssh/id_rsa):[Press enter]
Enter passphrase (empty for no passphrase): [Type a passphrase] Enter same passphrase again: [Type passphrase again]
到这里就生成了一个新的SSH key,可以使用ls命令查看生成后的文件目录:
新建一个config文件
touch ~/.ssh/config
然后在config文件中添加以下内容:
Host *.github.com IdentityFile ~/.ssh/id_rsa User '你的用户名'
接着将id_rsa.pub内的内容复制并添加到你的GitHub账户中(Settings->SSH and GPG keys->New SSH key)
OK,进行一下链接测试
ssh -T [email protected]
回车后出现:
Hi xxx! You've successfully authenticated, but GitHub does not # provide shell access.
就表示设置成功了,Bingo!
在你的项目目录下先使用git remote -v查看远程地址
git remote -v
$ git remote -v origin https://github.com/someaccount/someproject.git (fetch) origin https://github.com/someaccount/someproject.git (push)
可以看出当前项目是使用https协议进行访问的,然后我们可以使用命令改成SSH协议进行访问:
git remote set-url origin [email protected]:AccountName/Project-name.git
之后再查看远程地址:
$ git remote -v origin [email protected]:AccountName/Project-name.git (fetch) origin [email protected]:AccountName/Project-name.git (push)
发现remote url已经变了。
然后你就可以愉快的使用git fetch, git pull , git push,再也不用输入烦人的密码了(如果设置了密钥密码passphrase,则会需要输入该密码)
有时候push不上去,提示 the project you were looking for could not be found. 可能是远程仓库地址换了
如果想修改SSH key密码,如下操作:
$ cd ~/.ssh/
然后修改rsa类型密钥的密码:
$ ssh-keygen -f id_rsa -p
然后按照提示输入你的old passphrase和new passphrase就OK了。
old passphrase
new passphrase
GitHub Help了解更多
The text was updated successfully, but these errors were encountered:
No branches or pull requests
https和SSH区别
关于SSH
使用SSH协议,我们可以连接并验证远程服务器和服务。使用SSH密钥,我们可以连接到GitHub,而无需在每次访问时提供用户名或密码。
检查现有的SSH key
在生成SSH密钥前,应先检查是否已有SSH密钥对
ls -al ~/.ssh
以查看是否存在现有密钥id_rsa
和id_rsa.pub
的两个文件,前者是密钥文件,后者是公钥文件默认情况下,公钥的文件名是以下之一:
如果未发现有类似的公钥和私钥对,则可以按照如下方法生成一个SSH key:
ssh-keygen -t rsa -b 4096 -C " [email protected]"
各参数含义:
-t:密钥类型,一般为dsa,ecdsa,ed25519和rsa这几种,默认为rsa,可省略;
-b:密钥的位数;
-C:注释文字,比如邮箱。
Enter a file in which to save the key (/c/Users/you/.ssh/id_rsa):[Press enter]
Enter passphrase (empty for no passphrase): [Type a passphrase] Enter same passphrase again: [Type passphrase again]
到这里就生成了一个新的SSH key,可以使用ls命令查看生成后的文件目录:
新建一个config文件
touch ~/.ssh/config
然后在config文件中添加以下内容:
接着将id_rsa.pub内的内容复制并添加到你的GitHub账户中(Settings->SSH and GPG keys->New SSH key)
OK,进行一下链接测试
回车后出现:
就表示设置成功了,Bingo!
修改remote url
在你的项目目录下先使用
git remote -v
查看远程地址可以看出当前项目是使用https协议进行访问的,然后我们可以使用命令改成SSH协议进行访问:
之后再查看远程地址:
发现remote url已经变了。
然后你就可以愉快的使用git fetch, git pull , git push,再也不用输入烦人的密码了(如果设置了密钥密码passphrase,则会需要输入该密码)
tips:
有时候push不上去,提示 the project you were looking for could not be found. 可能是远程仓库地址换了
如果想修改SSH key密码,如下操作:
然后修改rsa类型密钥的密码:
然后按照提示输入你的
old passphrase
和new passphrase
就OK了。GitHub Help了解更多
The text was updated successfully, but these errors were encountered: