yaoningvital/blog

Connect to your Git repos with SSH

Opened this issue · 0 comments

一、什么是SSH?

SSH (Secure Shell)外壳安全协议。

SSH为建立在应用层基础上的安全协议。

SSH是较可靠,专为远程登录会话 和 其他网络服务提供安全性的协议。

利用SSH协议可以有效防止远程管理过程中的信息泄露问题。

SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。

SSH在正确使用时,可弥补网络中的漏洞。

SSH登录是需要用户名和密码的,要实现无密码登录,就需要创建SSH密钥(ssh key),SSH密钥可以认为是和另一台电脑通信时的唯一的识别证。SSH密钥对可以让我们方便地登录到SSH 服务器,而无需输入密码。

二、检查SSH密钥是否存在

方法一

到 ~/.ssh 文件夹(比如:/home/用户名/.ssh or C:\Users\用户名.ssh)下检查是否有下面两个文件:

  • id_rsa
  • id_rsa.pub

方法二

输入下面命令:

ls -l ~/.ssh

如果有文件id_rsa.pub 或 id_dsa.pub,则密钥存在。
image

三、生成新的SSH密钥

使用ssh-keygen命令创建SSH密钥。

这个命令将用SSH创建一个 2048 bit 的RSA(非对称加密算法)密钥。

你也可以在给出提示时,给私钥一个私钥密码,这个私钥密码对你的私钥提供另一个层面的安全性。

如果你设置了私钥密码,就需要配置SSH代理,去缓存这个私钥密码,这样你就不用在每次连接时都不得不输入这个密码。

在命令行中输入:

ssh-keygen -t rsa -C "your_email@example.com"

image

  • 生成ssh 密钥后,可以到~/.ssh目录下查看相关文件,一般来说ssh 密钥会包含id_rsa和id_rsa.pub两个文件,分别表示生成的私钥和公钥。

  • 在git等源代码管理中,使用 cat ~/.ssh/id_rsa.pub 命令,打印并将相应内容复制到源代码管理服务器即可实现git的无密码管理。
    image