SSH详解及与GitHub的应用

1. SSH历史

1995年,芬兰赫尔辛基理工大学的研究员TatuYlönen设计了第一个版本的SSH协议,这个版本是在他的大学网络中通过密码嗅探攻击引起的。SSH的目标是取代早期的rlogin,TELNET,FTP和rsh协议,这些协议不提供强认证,也不保证机密性。Ylönen于1995年7月发布了他作为免费软件的实现,该工具迅速普及。到1995年底,SSH用户群已经扩展到50个国家的20,000名用户。目前,在Linux系统上,SSH已成标准配置。

2. SSH是什么?

维基百科上的定义是:

SSH(Secure Shell) uses public-key cryptography to authenticate the remote computer and allow it to authenticate the user.

直译过来就是:

SSH采用公钥加密来验证远程计算机,并允许它对用户进行身份验证。

SSH是一种加密网络协议,允许用户通过不安全的网络安全地执行许多网络服务。典型应用包括远程命令行登录远程命令执行,但可以使用SSH保护任何网络服务。

SSH在客户端—服务器体系结构中提供了安全通道,将SSH客户端应用程序与SSH服务器连接。

3. SSH密钥是什么?

SSH密钥总是成对出现的,由私钥和公钥组成。不同于密码方式的登录,SSH密钥提供了更安全的方式来登录SSH服务器。虽然暴力破解常常能够破解密码,但SSH密钥几乎不可能通过暴力破解。生成一对密钥提供两个长字符串:公钥和私钥。您可以将公钥放在任何服务器上,然后通过将其连接到已拥有私钥的客户端来解锁。当两者合适时,系统打开而无需密码。您可以使用访问密码保护您的私钥,从而进一步提高安全性。

4.通过SSH连接到GitHub

使用SSH协议,您可以连接和验证远程服务器和服务。使用SSH密钥,您可以在每次访问时无需提供用户名或密码即可连接到GitHub。

  • 首先需要检查客户端上是否存在SSH密钥

    打开终端——输入ls -al ~/.ssh,可以查看已经存在的SSH密钥。公钥具有以下一种文件名:

    • id_dsa.pub
    • id_ecdsa.pub
    • id_ed25519.pub
    • id_rsa.pub
  • 如果没有,需要自己创建,输入ssh-keygen -t rsa -b 4096 -C "[email protected]"

    根据提示,你需要输入一个安全密码:

    Enter passphrase (empty for no passphrase): [Type a passphrase]
    Enter same passphrase again: [Type passphrase again]
    
  • 将SSH密钥加入你的GitHub账户中

    首先,复制你的密钥pbcopy < ~/.ssh/id_rsa.pub,登录GitHub,点击右上角的头像图标:

SSH详解及与GitHub的应用_第1张图片

点击settings,再点击左侧栏里面的SSH and GPG keys

SSH详解及与GitHub的应用_第2张图片

继续点击:
SSH详解及与GitHub的应用_第3张图片

会出现:
SSH详解及与GitHub的应用_第4张图片

输入刚才copy的密钥即可。Title任意设定。

你可能感兴趣的:(SSH详解及与GitHub的应用)