[技术] 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