老青菜

SSH 多个密钥

2014-10-15

一对密匙包括公匙和私钥,公匙加密的数据只能用私钥解密,公匙存储在远程服务器上,私钥存储在本地。当登录远程服务器时,过程如下:

    1.客户端软件就会向服务器发出请求,请求用你的密匙进行认证。
    2.服务器收到请求之后,先在服务器的宿主目录下寻找你的公匙,
    3.然后检查该公匙是否是合法,如果合法就用公匙加密一随机数(即所谓的`challenge`)并发送给客户端软件。
    4.客户端收到 `challenge` 之后就用私匙解密,再把它发送给服务器。
    5.服务器经过比较,验证客户端连接的合法性。

生成 SSH Key

ssh-keygen -t rsa -f ~/.ssh/id_rsa.gitlab-kd -C "Key for Work stuff" 

为了避免和其他ssh key 冲突,这里指定了生成的文件名

-f ~/.ssh/id_rsa.gitlab-kd

将在用户的主目录~/.ssh目录下面产生一对密钥

id_rsa.gitlab-kd             私钥
id_rsa.gitlab-kd.pub         公钥

配置 Config

新增ssh的配置文件,并修改权限

touch ~/.ssh/config 
chmod 600 ~/.ssh/config

修改config文件的内容

    #kd gitlab
    Host *.kd-gitlab.com
           IdentityFile ~/.ssh/id_rsa.gitlab-kd
          User lee

     #github
    Host github.com
           IdentityFile ~/.ssh/id_rsa.github
           User git

拷贝 Pub Key


查看pub key的内容

cat ~/.ssh/id_rsa.gitlab-kd.pub

    1. 如果类似gitlabgithub 网站,复制上面内容,手动添加到网页中。

    2. 如果只支持ssh登陆,复制上面内容,追加内容到 服务端 ~/.ssh/authorized_keys 文件内。

    或者执行以下命令:

cat ~/.ssh/id_rsa.gitlab-kd.pub |ssh root@10.0.30.103 “cat >> ~/.ssh/authorized_keys”


使用 SSH

ssh -v jenkins@10.0.30.103
Tags: Shell
使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章