1个服务器可以做多少个网站,注册公司需要什么资料和流程,茂名公司网站制作,做设计兼职的网站有哪些工作Git的SSH密钥配置简记Githttps和ssh的区别基本需求SSH密钥类型ED25519 SSH 密钥RSA SSH 密钥查看您是否有现有的 SSH 密钥对设置流程设置user name和emailssh密钥配置检查是否存在ssh Key创建新的ssh key将ssh密钥添加到您的Git帐户验证您是否可以连接使用Git有一段时间了…
Git的SSH密钥配置简记Githttps和ssh的区别基本需求SSH密钥类型ED25519 SSH 密钥RSA SSH 密钥查看您是否有现有的 SSH 密钥对设置流程设置user name和emailssh密钥配置检查是否存在ssh Key创建新的ssh key将ssh密钥添加到您的Git帐户验证您是否可以连接使用Git有一段时间了之前也分享过一些相关文章记录但一直都想对初始设置做一篇记录毕竟
push和
pull操作经常使用也都熟能生巧了。但初始设置用的次数一般都很少忘记再查也是很麻烦这里就根据我自己的经验和之前查到的资料做一个简单记录希望对初学者有帮助。这里主要以GitLab为例但GitHub的步骤也大致相同。参考链接一个GitLab文档https://blog.csdn.net/inthat/article/details/109406553https://blog.csdn.net/qq_42680332/article/details/119001765
Git
Git是一个分布式版本控制系统这意味着你可以在本地工作然后将更改共享或“推送”到服务器。
https和ssh的区别
很多朋友在用github管理项目的时候都是直接使用https url克隆到本地当然也有有些人使用ssh url克隆到本地。 然而为什么绝大多数人会使用https url克隆呢 这是因为使用https url克隆对初学者来说会比较方便复制https url然后到git Bash里面直接用clone命令克隆到本地就好了。而使用ssh url克隆却需要在克隆之前先配置和添加好ssh key。 因此如果你想要使用ssh url克隆的话你必须是这个项目的拥有者。否则你是无法添加ssh key的。 所以两者的区别为
前者可以随意克隆github上的项目而不管是谁的而后者则是你必须是你要克隆的项目的拥有者或管理员且需要先添加ssh key否则无法克隆。https url在push的时候是需要验证用户名和密码的而ssh在push的时候是不需要输入用户名的如果配置ssh key的时候设置了密码则需要输入密码的否则直接是不需要输入密码的。
基本需求
要使用ssh与GitLab通信您需要
OpenSSH客户端预装在GNU/Linux、macOS和Windows 10上。ssh版本6.5或更高版本。早期版本使用MD5签名这并不安全。
要查看系统上安装的ssh版本请运行ssh -V如图。
SSH密钥类型
要与GitLab通信您可以使用以下SSH密钥类型
ED25519RSADSA在GitLab 11.0中已弃用ECDSA如Go的实用密码学中所述与DSA相关的安全问题也适用于ECDSA
管理员可以限制允许的密钥及其最小长度。
ED25519 SSH 密钥
《Practical Cryptography with Go》一书表明ED25519密钥比RSA密钥更安全、性能更高。 OpenSSH 6.5在25519年引入了ED2014 ssh密钥它们应该在大多数操作系统。
RSA SSH 密钥
现有文档表明ED25519比RSA更安全。 如果使用RSA密钥美国国家科学技术研究院在出版物800-57 第3部分PDF中建议密钥大小至少为2048位。默认密钥大小取决于您的版本。 有关详细信息请查看已安装命令的页面ssh-keygenmanssh-keygen。
查看您是否有现有的 SSH 密钥对
在创建密钥对之前请查看密钥对是否已存在。
在Windows、Linux或macOS上转到您的主目录。转到子目录。如果子目录不存在您要么不在主目录中要么以前从未使用过。在后一种情况下您需要生成 SSH 密钥对.ssh/.ssh/ssh。查看是否存在具有以下格式之一的文件
算法公钥私钥ED25519首选id_ed25519.pubid_ed25519RSA至少 2048 位密钥大小id_rsa.pubid_rsaDSA已弃用id_dsa.pubid_dsaECDSAid_ecdsa.pubid_ecdsa
设置流程
设置user name和email
首先在使用SSH之前要先设置全局范围的用户名user name和邮箱email。
# 查看配置
git config --list
git config --global -l
git config -l
#git status
git config --global user.name docker
git config --global user.email xxxyeah.netssh密钥配置
检查是否存在ssh Key
cd ~/.ssh
ls看是否存在id_rsa和id_rsa.pub或者类似但秘钥类型不同的文件如果存在说明已经有ssh Key。没有的话创建新的ssh key。
创建新的ssh key
打开终端。键入ssh-keygen -t后跟密钥类型和可选注释。此注释包含在创建的文件中。 您可能需要使用电子邮件地址进行评论。 例如对于ED25519
ssh-keygen -t ed25519 -C comment即-t ed25519密钥的类型-C comment用于识别密钥的注释一般大家都写的是Email邮箱。 对于2048位RSA
ssh-keygen -t rsa -b 2048 -C comment按Enter键。将显示类似于以下内容的输出
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/user/.ssh/id_ed25519):接受建议的文件名和目录除非您正在生成部署密钥或想要保存在存储其他密钥的特定目录中。 您还可以将SSH密钥对专用于特定主机。指定密码
Enter passphrase (empty for no passphrase):
Enter same passphrase again:将显示一条确认信息其中包括有关文件存储位置的信息。
完成后会在.ssh目录生产两个文件id_ed25519私有密钥和id_ed25519.pub公开密钥。
将ssh密钥添加到您的Git帐户
复制公钥文件的内容。您可以手动执行此操作也可以使用脚本执行此操作。 例如要将ED25519密钥复制到剪贴板 macOS
tr -d \n ~/.ssh/id_ed25519.pub | pbcopyLinux需要软件包xclip
xclip -sel clip ~/.ssh/id_ed25519.pubGit Bash on Windows
cat ~/.ssh/id_ed25519.pub | clip替换为您的文件名。例如用于RSAid_rsa.pub替换上面的id_ed25519.pub 2. 登录GitLab。 3. 在右上角选择您的头像。 4. 选择首选项。 5. 在左侧边栏中选择“ssh 密钥”。 6. 在“密钥”框中粘贴公钥的内容。如果手动复制了密钥请确保复制整个密钥以ssh-ed25519或ssh-rsa开头可能以注释结尾。 7. 在“标题”文本框中键入说明如“工作笔记本电脑”或“家庭工作站”。 8. 可选的。在“失效时间”框中选择失效日期。在GitLab 12.9中引入。过期日期仅为信息并不阻止您使用关键。但是管理员可以查看过期日期和在删除键时使用它们作为指导。
GitLab每天在UTC时间凌晨0200检查所有SSH密钥。它会通过电子邮件发送当前日期到期的所有SSH密钥的到期通知。在GitLab 13.11中引入GitLab每天在UTC时间凌晨0100检查所有SSH密钥。它会通过电子邮件发送计划在七天后过期的所有SSH密钥的到期通知。在GitLab 13.11中引入
选择“添加密钥”。
验证您是否可以连接
打开终端并运行以下命令替换为您的GitLab实例URLgitlab.example.com
ssh -T gitgitlab.example.com如果这是您第一次连接则应验证GitLab主机的真实性。如果您看到类似以下内容的消息
The authenticity of host gitlab.example.com (35.231.145.151) cant be established.
ECDSA key fingerprint is SHA256:HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added gitlab.example.com (ECDSA) to the list of known hosts.键入yes并按回车键。 3. 再次运行该命令ssh -T gitgitlab.example.com。您应该会收到*欢迎来到 GitLabusername*消息。
如果未显示欢迎消息可以通过在详细模式下运行ssh来进行故障排除
ssh -Tvvv gitgitlab.example.com