Windows免密登录Linux + 配置多个Github账号

小编:大闷头 更新时间:2022-08-21


就当【碎碎】平安了,忘掉不愉快,今天分享两个超简单、超实用的Window实用技能。


三步完成windows免密登录linux

Windows免密登录Linux + 配置多个Github账号

1)在windows上生成秘钥:

启动Git, ssh-keygen -t rsa -C "xxx@163.com", 生成秘钥:id_rsa.pub, id_rsa

默认生成在C盘:

C:\Users\DELL\.ssh 的目录2022/04/07 09:43

.2022/04/07 09:43 ..2022/04/07 09:43 54 config2019/04/27 07:21 1,831 id_rsa2019/04/27 07:21 401 id_rsa.pub2022/06/11 15:02 2,138 known_hosts 4 个文件 4,424 字节 2 个目录 19,970,998,272 可用字节


2)上传秘钥到linux服务器:

复制公钥 id_rsa.pub 的全部内容到服务 .ssh/authorized_keys当中,保存authorized_keys。


3) 启动 ssh server:

启动命令:service sshd restart, 然后windows 退出linux服务器登录后重新登录即可完成免密登录了。




2.一台Windows电脑,配置多个Github账号、实现代码上传


Windows免密登录Linux + 配置多个Github账号

一台Windows电脑,怎么配置多个Github账号,实现代码上传呢?我们分享在 windows10上同时创建 paperClub-hub 和 user2items 两个Github账号, 其实整个过程只用三步。


1)生成秘钥

打开Git, 检查C盘根目录下有没有 .ssh文件夹,如果没有自己创建一下就可以了。我们先生成两个秘钥 is_rsa_paperClub-hub 和 is_rsa_user2items:

ssh-keygen -t rsa -f is_rsa_paperClub-hub
ssh-keygen -t rsa -f is_rsa_user2items

直接回车,其他不用管,这样就生成了秘钥,is_rsa_paperClub-hub 和 is_rsa_user2items是为了举例子,大家可以根据自己的需要创建 。

DELL@DESKTOP-IDPMAV4 MINGW64 ~/.ssh$ lsconfig id_rsa.pub id_rsa_paperClub-hub.pub id_rsa_user2items.pubid_rsa id_rsa_paperClub-hub id_rsa_user2items known_hosts

2)上传公钥到Github
这一步比较简单:打开登录github 账号(以paperClub-hub为例) , 点击github右上角的头像-->settings --> SSH and GPG keys 中,然后再点击“new SSH key”,

设置SSH keys Title, 然后编辑器打开刚才生成的 id_rsa_paperClub-hub.pub 文件,复制全部内容到 SSH keys Key: 下的空白框内(github账号和公钥对应,别混了),然后点击 “add SSH Key”就完成了Github秘钥的配置。

验证:

$ssh -T git@user2items.github.com
Hi user2items! You've successfully authenticated, but GitHub does not provide shell access.
$ssh -T git@paperClub-hub.github.com
Hi paperClub-hub! You've successfully authenticated, but GitHub does not provide shell access.

以上说明配置完成。

3)本地配置及验证
在C盘创建一个config文件(如果没有的话),内容:

Host paperClub-hub.github.com
HostName github.com
User paperClub-hub
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_paperClub-hub

Host user2items.github.com
HostName github.com
PreferredAuthentications publickey
User user2items
IdentityFile ~/.ssh/id_rsa_user2items

配置其实目的就是为了方便管理,当然也可以不做。我们这样做就是尽可能的和github上的url保持一致,比如 Host 和 HostName。> 邮箱及用户配置,这个先重置全局信息,然后分布进行配置,比较简单。>然后用Git进入本地的git的文件夹。创建 本地仓储: git init> 关联远端:

https:

$ git remote add origin https://github.com/user2items/paperClub.git

ssh:

$ git remote add origin git@github.com: user2items/paperClub.git

上面的 github.com为 config中的 HostName, 后面紧接着是用户名和远端的仓储位置,我们仔细看一下,其实就是githup上 https的 URL : https://github.com/user2items/paperClub.git> 拉去远端代码:

$ git pull origin master
From https://github.com/user2items/paperClub

  • branch master -> FETCH_HEAD
  • [new branch] master -> origin/master
    Already up to date.

> 上传代码:

$ git push origin master
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 353 bytes | 353.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
remote:
remote: GitHub found 32 vulnerabilities on user2items/paperClub's default branch (1 critical, 14 high, 15 moderate, 2 low). To find out more, visit:
remote: https://github.com/user2items/paperClub/security/dependabot
remote:
To https://github.com/user2items/paperClub.git
a7abd55..d86c781 master -> master

`

怎么样,是不是很简单呢?