linux 生成KEY的方法与使用

服务器A: 192.168.1.1

服务器B: 192.168.1.2

 

服务器A:

配置:

ssh-keygen -b 2048 -t rsa

#这里的-b 2048 是密钥加密的长度,*好设大点,有消息称美国有黑客解决 ssh的密钥进行破解。
#http://bbs.yuloo.com/thread-860154-1-1.html

直接回车3次

key文件会保存在/root/.ssh目录下

这时候.ssh目下会多出几个文件

id_rsa   私钥文件

id_rsa.pub  公钥文件,这个文件里的内容要放到其它主机里面去。

查看 id_rsa.pub  文件

cat /roor/.ssh/id_rsa.pub

 

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIcAvh6Lz9ghftghtfghSv+kSrxVLC9UDKq27mg5vhfghAaWcgFgllZhfg2DLnGotmeL/08bp6jMW/ekSq1BY1eiouiluiliuliul2Rr84x0bB5YShhpgJwuPbwr/pymgukyukyukyuthjkiytiliunzdfkuykyuIZgVvgPTzNdN/RDwJMsafsdvgsdsfsdfdsfsdaflozStYcWjrwzYxsroDPBy4zjd0gH5zMYhj+vS4OOAZZ8rtHEfx+sTE0= root@localhost.localdomain

 

 

 

服务器B:

配置:

新建文件夹与文件

mkdir /root/.ssh

vim /root/.ssh/authorized_keys

把A服务器上查看的KEY文件内容,复制到B服务器的authorized_keys中

主要是将root@localhost.localdomain修改为root@192.168.1.1 这样方便查看是哪台服务器的KEY,可能会有多台服务器的key。

 

修改sshd 的主配置文件,关闭密码认证登陆,使用key登陆。

vim /etc/ssh/sshd_config

找到 PasswordAuthentication yes

改成 PasswordAuthentication no

service sshd restart

 

 

测试:

在A服务器上执行

ssh root@192.168.1.2

首次登陆会需要你输入YES。看是不是不需要密码就可以登陆B服务了。

git修改本地ssh key

今天突然想往自己的git仓库上传项目发现了个问题,

意思是说现在电脑上记录的 ssh key是YuriTu这个git账户,这个账户上原来用这台电脑的同事的,所以我的项目push不到我的git 仓库中,那接下就是怎么解决让项目push到自己的git账户中的问题了。

还有一个方法可以看到现在git记录的是不是自己的账户,在输入下面的命令后:

git config –global  user.name

git config –global  user.email

ssh-keygen -t rsa -C “893202029@qq.com”

cd ~/.ssh

ssh -T git@github.com

会返回如下字段。如果两个红框里的字段不一致时,代表现在电脑记录的就是设置的其他用户的ssh key了。

接下来就是解决办法了:

有点暴力但是能解决问题的办法就是删除电脑中记录的ssh key,然后重新设置成自己的git账户,这样就可以成功把项目push到自己的git仓库了。

1、查看系统ssh-key代理,执行如下命令:ssh-add -l

2、如果系统已经 有ssh-key代理,执行下面的命令可以删除:ssh-add -D

*后就是重新按照git 流程进行设置就可以了。

解决这个问题耗费了我一天的时间,希望可以帮到遇到同样问题的小伙伴