系统攻防

[技术] ssh多密匙和免密钥配置

2017-11-04  本文已影响48人  ttdevs

[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
上一篇下一篇

猜你喜欢

热点阅读