做idc销售怎样建网站,asp.net做网站系统,html5 网站模板下载,上海网站的优化公司哪家好作者#xff1a; Herman Ye Auromix 测试环境#xff1a; Ubuntu20.04 更新日期#xff1a; 2024/02/21 注1#xff1a; Auromix 是一个机器人爱好者开源组织。 注2#xff1a; 由于笔者水平有限#xff0c;以下内容可能存在事实性错误。
相关背景
在为Github代码仓库配…作者 Herman Ye Auromix 测试环境 Ubuntu20.04 更新日期 2024/02/21 注1 Auromix 是一个机器人爱好者开源组织。 注2 由于笔者水平有限以下内容可能存在事实性错误。
相关背景
在为Github代码仓库配置SSH前需要先了解一些基础的背景如果这部分对你来说已经非常熟悉可以跳过到下一步。
什么是SSH
SSHSecure Shell协议是一种网络协议用于在不安全的网络中提供安全的数据通信。它可以用于远程登录到计算机系统也可以用于在两台计算机之间传输文件。SSH提供了强大的身份验证和安全的数据通信可以防止密码、信息被拦截、篡改或者重放。
使用 SSH 密钥您可以连接到 GitHub而无需在每次访问时提供您的用户名和个人访问令牌。并且您还可以使用 SSH 密钥来克隆/提交代码到Github。
通过SSH连接到Github需要什么操作
设置 SSH 时您需要生成新的 SSH 私钥并将其添加到 SSH 代理方便SSH Agent对SSH秘钥的密码进行管理同时还需要将SSH 公钥添加到您在 GitHub 上的帐户。
SSH Agent是什么
ssh-agent是一个帮助管理SSH私钥的程序在用户生成 SSH 密钥时可以添加密码以进一步保护密钥。 每当使用密钥时都必须输入密码。 如果密钥具有密码并且你不想每次使用密钥时都输入密码就需要用到SSH Agent。
当你启动ssh-agent后你可以将你的私钥添加到ssh-agent中然后ssh-agent会在需要时自动提供私钥这样你就不需要每次使用SSH时都输入密码了。
完整流程
如果你需要使用SSH和Github服务器构建安全的连接克隆或提交代码请按照以下流程执行。
1.查看现有的SSH秘钥
ls -al ~/.ssh如果发现名为id_rsa.pub, id_ecdsa.pub, id_ed25519.pub的公钥 则可以跳过秘钥生成的步骤。 如果不存在~/.ssh目录或者没有对应的秘钥则需要生成。
2.生成秘钥
通过ssh-keygen可以生成SSH密钥对包含公钥和私钥 公钥public key 可以公开给任何人用于加密数据和验证签名。通常存放在远程服务器上。 私钥private key 必须严格保密用于解密数据和创建数字签名。通常存放在本地计算机上。
SSH秘钥的主要用途是提供一种无密码登录远程服务器的方式。当你在远程服务器上安装了你的公钥后你可以使用你的私钥来登录而无需输入密码。这不仅方便而且比使用密码更安全。
ssh-keygen -t ed25519 -C youremailicloud.com可以为SSH秘钥对指定保存秘钥的文件名、使用SSH秘钥的密码因为这里指定了保存秘钥的文件名为id_ed25519_for_github所以最终会在在目录下生成了私钥id_ed25519_for_github和公钥id_ed25519_for_github.pub
使用SSH秘钥的密码通常为了方便不进行设置如果确实设置了使用SSH秘钥的密码则可以通过ssh-agent来帮助方便在每次使用SSH秘钥时不用每次都输入密码 注意如果你没有设置使用SSH秘钥的密码则可以不执行以下两条命令 启动SSH Agent
eval $(ssh-agent -s)添加私钥到SSH Agent
ssh-add ~/.ssh/id_ed25519_for_github3.复制公钥
cat ~/.ssh/id_ed25519_for_github.pub4. 在Github上添加公钥
在github的网页依次点击右上角头像-Settings-Access-SSH and GPG keys-New SSH key添加刚才复制的公钥并给他一个用于提醒你的名称。
5.检查连接是否正常
最后测试从主机到Github服务器的连接是否正常。
ssh -T gitgithub.com如果正常应当返回如下内容 Hi Hermanye996! You’ve successfully authenticated, but GitHub does not provide shell access. 如果设置了魔法代理导致github的SSH端口无法访问可以尝试执行以下脚本
#!/bin/bash# File: configure_ssh.sh
# Author: Herman Ye
# Date: 2023-11-03# Set configuration parameters
hostgithub.com
hostnamessh.github.com
port443# Ensure the ~/.ssh directory exists
mkdir -p ~/.ssh# Create or append the configuration to the ~/.ssh/config file
echo Host $host ~/.ssh/config
echo Hostname $hostname ~/.ssh/config
echo Port $port ~/.ssh/configecho Configuration has been written to the ~/.ssh/config file.参考链接
https://docs.github.com/en/authentication/connecting-to-github-with-ssh/about-ssh https://docs.github.com/en/authentication/connecting-to-github-with-ssh/managing-deploy-keys https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account