因为接手的一个项目里面有用到这个的原因,加上最近需要对项目的服务器进行调整,不得已需要了解一下这个玩意儿,中文的资料几乎没有,所以这里将自己了解到的记录下来 希望能帮到大家
ssh公钥登录的认证方式中,客户端A需要登陆服务器B,ssh客户端A需要使用自己的私钥加密客户端传过来的随机字符串,ssh服务端B收到客户端A使用A的私钥加密的字符串,B用A的公钥进行解密对比,一样则放行登陆成功,否则断开
而Krypton主要是介入到私钥加密的过程中
Krypton Core:该应用将 SSH 私钥储存在手机中(iPhone 和 Android),并通过手机来进行 SSH 授权。电脑和手机需要各自安装客户端以便配合使用。利用该应用,也可以方便的将 SSH 公钥添加到 GitHub、GitLab、AWS、DO 等。
所以说Krypton 只是将免密登陆进行了改造,将原来放在客户端的私钥挪到了手机上而已,其他都没变。 如果对以上内容不清楚,可以看我上一篇的笔记 或者自己搜索 ssh免密登陆原理 学习了解
下面简述一下配置过程
安装
- Krypton app下载 下载地址不明显,网页底部右下角
- 在ssh客户端安装
$ curl https://krypt.co/kr | sh
配对
这里是配对ssh客户端和app
- 在确保安装步奏走完后,在ssh客户端所在机器执行
$ kr pair
执行成功后会生成二维码,打开Krypton app 按照引导,点击扫码框扫码即可配对成功
获取公钥
因为这个公钥是Krypton 生成的,所以需要将这个公钥提取后放到ssh服务端 获取公钥有两种方式,一种是通过命令
$ kr me
或者
kr copy
还有一种是通过复制如下路径的文件内容
/root/.ssh/id_krypton.pub
这两种方式获取到的内容是一样的
获取到公钥内容后 我们可以把内容手动复制粘贴到ssh服务端的如下文件末尾中
~/.ssh/authorized_keys
官方文档中提到可以通过如下命令也行,但我这边不好使,各位自己试一试吧
$ kr add <user>@<server>
这里给大家一个授权失败的例子看看什么样吧
官方文档见:https://krypt.co/docs/start/installation.html