首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

ssh多密匙和免密钥配置

ssh多密匙和免密钥配置

[TOC]
0x00 场景

当你想在不同网站使用不同密钥的时候,可以参考。
当你想让别人免密钥登录你的服务器时,可以参考。
在此做个记录。
0x01 创建ssh Key

ssh-keygen -t rsa -C "name@domain"

例如:

    ➜  .ssh ssh-keygen -t rsa -C "ttdevs@gmail.com"
    Generating public/private rsa key pair.
    Enter file in which to save the key (/Users/ttdevs/.ssh/id_rsa): id_rsa_github
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in id_rsa_github.
    Your public key has been saved in id_rsa_github.pub.
    The key fingerprint is:
    SHA256:ppip7b06WzMF6Qr/tnxubzR11aEXkL6/G8YOi/3Vkcw ttdevs@gmail.com
    The key's randomart image is:
    +---[RSA 2048]----+
    |             .ooo|
    |       .     .. +|
    |      o     .. o |
    |     . .    ..= .|
    |  .   . S  . ..E |
    |   o = +  o  .. o|
    |    * =  . . ..+o|
    |   o.=.oo . o =.o|
    |  ..==**.o.. o.=o|
    +----[SHA256]-----+
    ➜  .ssh ll
    total 64
    -rw-------  1 ttdevs  staff     0B 11  4 09:51 authorized_keys
    -rw-r--r--@ 1 ttdevs  staff   663B 10 22 16:03 config
    -rw-------  1 ttdevs  staff   1.6K 11  4 09:48 id_rsa
    -rw-r--r--  1 ttdevs  staff   398B 11  4 09:48 id_rsa.pub
    -rw-------  1 ttdevs  staff   1.6K 11  4 09:48 id_rsa_github
    -rw-r--r--  1 ttdevs  staff   398B 11  4 09:48 id_rsa_github.pub
    -rw-r--r--  1 ttdevs  staff   4.5K 10 30 01:21 known_hosts
    -r--------@ 1 ttdevs  staff   1.7K  1  7  2016 rpikey.pem
    ➜  .ssh

在 Enter file in which to save the key 后输入key的名字,其他直接回车。
0x02 配置

看到我的列表中有个 config 文件,这个就是用来配置的多key的,如果没有过请自行创建:touch config。下面编辑这个文件,输入下面内容:

    Host gitee.com
    HostName gitee.com
    IdentityFile ~/.ssh/id_rsa
     
    Host github.com
    HostName github.com
    IdentityFile ~/.ssh/id_rsa_github
    User ttdevs

意思很简单,制定相应的服务使用不同的key。
0x03 作为服务器

上面提到的是登录别的服务器,如果希望别人通过ssh免密钥登录我们可以可以实现。看到上面的 authorized_keys 文件了,如果没有创建一个,修改权限为 0600。将对应的pub key添加进去就可以:

    ➜  .ssh touch authorized_keys
    ➜  .ssh chmod 0600 authorized_keys
    ➜  .ssh cat id_rsa.pub >> authorized_keys
返回列表