SSH
Secure Shell (SSH)
是一个允许两台电脑之间通过安全的连接进行数据交换的网络协议。通过加密保证了数据的保密性和完整性。SSH
采用公钥加密技术来验证远程主机,以及(必要时)允许远程主机验证用户。
SSH
是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH
协议可以有效防止远程管理过程中的信息泄露问题。通过SSH
可以对所有传输的数据进行加密,也能够防止DNS
欺骗和IP
欺骗。
SSH Key
SSH密钥对
最直观的作用:让你方便的登录到SSH
服务器,而无需输入密码。由于你无需发送你的密码到网络中,SSH
密钥对被认为是更加安全的方式。
原因:SSH
利用SSH Key
来进行前面提到的基于密钥的安全验证。
使用SSH key
的步骤如下:
在客户端生成SSH key
(密钥对:公钥和私钥)
在服务端的配置文件中加入你的公钥。(比如我们需要再GitHub
中粘贴你的公钥)
注意⚠️:如何创建多个ssh key
而不是覆盖默认文件
在创建ssh key
时自行输入路径和文件名称,而非使用默认路径和文件名即可。
或者使用-f
来指定文件名
ssh-keygen -t rsa -C "your_secondemail@email.com" -f ~/.ssh/second-rsa
Github/GitLab中使用SSH
Github/GitLab中为什么会用到SSH?
Using the SSH protocol, you can connect and authenticate to remote servers and services. With SSH keys, you can connect to GitHub without supplying your username or password at each visit.
使用SSH
协议,您可以连接和验证远程服务器和服务。
使用SSH
密钥,您可以连接到GitHub
,而无需在每次访问时提供用户名或密码。
GitHub添加SSH
-
生成一个新的
SSH
秘钥,打开终端:ssh-keygen -t rsa -b 4096 -C"yourEmail@example.com"
如上图生成后需要输入保存秘钥的文件位置,一般不需要,直接
Enter
即可,默认保存在/Users/UserName/.ssh
目录下如果你之前已经生成过相应秘钥,会提示你是否覆盖,选择y之后Enter即可。如果没有生成过则会直接跳过。
- 后面提示我们输入秘钥密码,这个随自己设置吧,设置完成继续即可。
- 生成秘钥完毕会出现以下内容。
- 给
GitHub
账号添加SSH
:前往
-->/Users/UserName/.ssh
或者直接在个人目录下隐藏文件.ssh
,Mac
中显示隐藏文件command+shift+.
,打开id_rsa.pub
文件复制全部内容。打开GitHub
官网并登陆,在右上方点击Setting
进入到设置界面。
- 点击左边栏的
SSH and GpG keys
:点击New SSH key
,Title
随意填,Key
中把刚刚复制的内容添加进去,然后点击Add SSH key
即可。
- 检验是否添加成功,终端中输入
ssh -T git@github.com
查看ssh
是否已经安装
cd ~/.ssh
ls
// 显示 ‘known_hosts’ 表示没有
打开ssh
目录位置
// 方式一:打开文件位置,选中文件放入编辑器查看
open ~/.ssh
// 方式二:直接查看
cat ~/.ssh/id_rsa.pub