首页 » 运维 » 正文

你真的了解authorized_keys 么?

首先,什么是authorized_keys : authorized_keys 是linux 操作系统下,专门用来存放公钥的地方,只要公钥放到了服务器的正确位置,并且拥有正确的权限,你才可以通过你的私钥,免密登录linux服务器

我们来看一下普通的authorized_keys 长的什么样子:

但是,并不是所有的authorized_keys都只是长这个样子,下面介绍一下常用的其他参数:

command=”command”

这个参数项的作用是当某人通过这把公钥登录的时候,登录进来默认要执行的命令,例如,你希望通过这个公钥的人进来,第一件事情是运行某个脚本,但是其他人如果不是通过这个公钥进来的,就不执行(这就是和bashrc的区别,bashrc里边的内容是无论怎么进来,都会执行),注意,这个参数会被ForceCommand 覆盖,如果设置了ForceCommand , 此项不会生效

environment=”NAME=value”

这个参数项的意义在于当某人通过这把公钥登录的时候,额外增加新的环境变量,并且,通过这个途径增加的环境变量会覆盖其他途径的环境变量

from=”pattern-list”

这个参数项的意义在于,限制私钥的使用机器(IP),例如,你的私钥不小心丢了(尽量不要发生),但是如果你设置了from这个参数,只允许从你公司的地址登录,哪怕别人有了你的私钥,也无法使用,因为他不会满足from 的前提条件其他的参数用的就更少了,可以参考如下例子:

参考地址:

https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.3.0/com.ibm.zos.v2r3.foto100/authkeyf.htm

Zhiming Zhang

Senior devops at Appannie
一个奔跑在运维路上的胖子
Zhiming Zhang

Latest posts by Zhiming Zhang (see all)