当我们需要从GitHub上下载一些公开资源时,建立ssh链接下载是一个稳定且安全的方式。这篇文章就用来为大家建立一个这样的稳定链接。
一、前置条件
1. 首先需要注册一个github的账号,这里不再赘述。
2. 需要保证虚拟机网络是正确连接的;
3. 虚拟机上需要安装ssh服务器,可以用以下命令检查虚拟机上是否安装了 SSH 服务器:
dpkg -l | grep openssh-server
如果已经安装,得到的输出结果应该如下所示:
没有也没有关系,SSH(Secure Shell)链接是一个非常 安全、便捷 和 高效 的远程连接方式,广泛用于服务器管理、文件传输、以及在不同机器间的安全通信。比如虚拟机和VScode建立ssh链接可以大大提高在虚拟机中编程的效率(我的另一篇博客有提到),这里可以用以下命令安装一个ssh服务器
sudo apt install openssh-server
安装完成后,可以通过以下命令检查 SSH 服务的状态:
sudo systemctl status ssh
如果显示 active (running)
,说明 SSH 服务已经启动并正在运行。如下图所示:
二、生成SSH密钥
1.使用以下命令,生成一个有关你的github账号的密钥,注意后面的“your_email@example.com”需要修改成你github登录账号时的邮箱;
ssh-keygen -t ed25519 -C "your_email@example.com"
输入后如图有一些设置选项,需按提示操作,我这里直接按默认配置创建,包括密码也没有设置:
创建成功后的结果如图所示,密钥自动保存在了~/.ssh/id_ed25519.pub位置,我们使用cat命令查看并复制我们的密钥:
cat ~/.ssh/id_ed25519.pub
就是下面这行话,以ssh开头以你的邮箱名结尾,这样在虚拟机上的操作就完成了。
三、将 SSH 公钥添加到 GitHub
登录到 GitHub,进入 Settings > SSH and GPG keys > New SSH key。
之后,就可以为ssh密钥添加一个名字,并将刚刚复制好的ssh密钥添加到指定区域,点击add ssh key即可成功添加。添加成功后的界面如下:
四、用ssh链接拉取github上的资源
回到虚拟机中,用以下命令测试于GitHub的链接:
ssh -T git@github.com
成功会有以下输出显示:
这句话表示你已经成功通过 SSH 密钥与 GitHub 进行了身份验证,但 GitHub 不允许通过 SSH 提供命令行访问,只允许进行 Git 操作。
然后需要安装git来使用git命令下载
sudo apt update
sudo apt install git
然后就可以使用git命令拉取我们所需要的公共资源了!