SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。
以上摘入自百度百科,更多关于SSH的信息,大家自己去网上了解。接下来,我们将创建SSH,以及使用它进行登录。
1.查询SSH Keys
在生成SSH Keys前,先看下是否存在SSH Keys秘钥对。
$ cd ~/.ssh
如果文件夹不存在就可以直接去创建SSH Keys,如果存在查看目录下是否存在对应SSH的公私秘钥
$ ls
如果命令行中出现了***.pub
(Public Key) 和 ***
(Private Key),类似这样的一对文件,说明之前已经生成过秘钥,你可直接使用。
2.创建SSH Keys
在terminal中调用ssh-keygen
命令来生成新的SSH文件
$ ssh-keygen -t rsa -C YOUR_EMAIL
过程中会有三次需要输入的信息,根据提示的信息来设置。
第一个提示是:设置将要生成SSH的路径和名字。文字中显示的(~/.ssh/id_rsa)
为默认路径和名称;如果直接回车,生成的一对SSH Keys名字分别为:id_rsa
和id_rsa.pub
,路径为:~/.ssh/
Enter file in which to save the key (~/.ssh/id_rsa):
第二个提示是:创建的SSH设置密码,在以后建立建立连接时,需要用到。如果直接回车,默认设置密码为空。
Enter passphrase (empty for no passphrase):
第三个提示,确认密码
Enter same passphrase again:
3.查看SSH Public Key
这里我们查看id_rsa.pub
的内容;如果自行设置过了公钥名,替换成自己的公钥即可。
cat id_rsa.pub
输出如下:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhQwP4Ezu7LvcrHlMXD9nwfyQEGjbz1G
Rwr/D2/opal9H2JGk3Ix0upA0c7IshPyI/kHS1U+FgmbjDBbvUTI4Ij3Swym2AFTJ4fCZz
iRSjk2j3xbZNdXgwgfhLjRIJiIBnXVsqEt1tKKeQ/SxFWp99iTQ1J7KPlc6II/L3ftuyA
HAUzg47SdZztiBzPxvgDaVO7S5Vjp9L2h56uxCxC5aymW/piivngJATf4TP5NfCRd+YW
6vT1b8otIsKyDLJfNbOEWJtiJTym+4TLKYJDCIyBwxCerkw+RRtZ+UQV2nrVv2nqPV+Y
MUJKCBx6TapISkpMwxmxoaDPJ+VVd3YdyDR YOUR_EMAIL
4.添加公钥
这里以github中设置Public Key为例,打开github -> 登录(成功后) -> 进入Personal settings -> 点击左侧栏中的SSH and GPG keys -> New SSH Key -> 将Public Key的内容贴进去,这样就设置好了。
5.测试SSH Keys
$ ssh git@github.com
如果打印中出现 You've successfully authenticated 的字样,说明验证成功,接下去就可以正常使用了。
如果出现类似 Permission denied 的字段,检查是否成功添加公钥。