前言
在github和码云上需要做得方便一些,一般都会配置SSH。而且这个SSH都是能用的。
检查是否存在SSH key
如果有的话,可以直接走第3步,直接拷贝SSH key到需要的地方去,也可以再次走第2步,覆盖重新生成SSH key.
cd ~/.ssh //进入密钥 (或者open ~/.ssh)
~/ 表示用户的信息 。进入用户信息的.ssh文件 。
可以直接 open ~/.ssh打开密钥文件夹,或者 open ~/ 打开用户信息列表 .有可能提示没有这个文件夹路径,这样就直接生成SSH就可以了。但也有可能,你进这用户信息列表看不到.ssh文件,因为默认情况下,它是隐藏的,包括cocoapods等这些安装包都是隐藏了的。 补充一下: 显示:defaults write com.apple.finder AppleShowAllFiles Yes && killall Finder 来显示隐藏的文件夹 (也可以在文件Finder中进行操作,具体可以百度一下就出来)
隐藏:defaults write com.apple.finder AppleShowAllFiles No && killall Finder
如果存在的话
ls:察看密钥
这两个命令就是检查是否已经存在 id_rsa.pub 或 id_dsa.pub 文件,如果文件已经存在,那么你可以跳过步骤2,直接进入步骤3。
如果已级存在了终端会提示:
id_rsaid_rsa.pubknown_hosts
创建一个 SSH key
ssh-keygen -t rsa -C “your_email@example.com”
代码的一切含义:
-t 指定密钥类型,默认是 rsa ,可以省略。
-C 设置注释文字,比如邮箱。
-f 指定密钥文件存储文件名。以上代码省略了 -f 参数,因此,运行上面那条命令后会让你输入一个文件名,用于保存刚才生成的 SSH key 代码:
Generating public/private rsa key pair.# Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]
当然,一般我们可以不输入文件名,它会使用默认文件名,自动会生成 id_rsa 和 id_rsa.pub 两个秘钥文件。
接着又会提示你输入两次密码
该密码是你push文件的时候要输入的密码,而不是github管理者的密码)
直接回车:
我是没有输入密码的,因为输入了密码后,每次提交都需要你输入密码,很麻烦。直接回车Enter passphrase (empty for no passphrase): # Enter same passphrase again:
接着会生成ssh key
显示代码:
当你看到上面这段代码的收,那就说明,你的 SSH key 已经创建成功,你只需要添加到github的SSH key上就可以了。
添加你的 SSH key 到指定地方
这里我们举例 配置SSH Key 到 github上去
首先你需要拷贝 id_rsa.pub 文件的内容:
有三种方法:(1).pbcopy命令的方法
pbcopy < ~/.ssh/id_rsa.pub(2).或者:cat命令的方法
cat < ~/.ssh/id_rsa.pub(3).或者clip命令的方法
clip < ~/.ssh/id_rsa.pub后者有可能会失败,提示-bash: clip: command not found,说明你的终端无没有clip命令。
登录到github.com上面。从右上角的设置( Account Settings )点击出现下拉列表,然后点击菜单栏的 SSH and GPG keys 进入页面添加 SSH key。
点击 Add SSH key 按钮添加一个 SSH key 。把你复制的 SSH key 代码粘贴到 key 所对应的输入框中,记得 SSH key 代码的前后不要留有空格或者回车。当然,上面的 Title是显示在 github 上的一个别名。默认的会使用你的邮件名称。
测试一下该SSH key
ssh -T git@github.com
如果出现
The authenticity of host 'github.com (207.97.227.239)' can't be established. # RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48. # Are you sure you want to continue connecting (yes/no)?
这是正常的,你输入 yes 回车既可。如果你创建 SSH key 的时候设置了密码,接下来就会提示你输入密码:
Enter passphrase for key '/c/Users/Administrator/.ssh/id_rsa’: 当然如果你密码输错了,会再要求你输入,知道对了为止。 注意:输入密码时如果输错一个字就会不正确,使用删除键是无法更正的。
如果出现
Hi your_username! You’ve successfully authenticated, but GitHub does not provide shell access.
如果用户名是正确的,你已经成功设置SSH密钥。如果你看到 “access denied” ,者表示拒绝访问,那么你就需要使用 https 去访问,而不是 SSH 。
如果把SSH部署到git@git.oschina码去上面的话,
验证: ssh -T git@git.oschina.net
第一次会提示你输入yes
sc:~ mao$ ssh -T git@git.oschina.net
The authenticity of host ‘git.oschina.net (120.55.226.24)’ can’t be established.
ECDSA key fingerprint is SHA256:FQGC9Kn/eye1W8icdBgrQp+KkGYoFgbVr17bmjey0Wc.
Are you sure you want to continue connecting (yes/no)? yes成功后会提示:
sc:~ mao$ ssh -T git@git.oschina.net
Welcome to Git@OSC,your username!