首先,什么是authorized_keys : authorized_keys 是linux 操作系统下,专门用来存放公钥的地方,只要公钥放到了服务器的正确位置,并且拥有正确的权限,你才可以通过你的私钥,免密登录linux服务器
我们来看一下普通的authorized_keys 长的什么样子:
1 |
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCzch9SZMR7rCu3FPU6doJrSMN75sIE/YciTPk/NNtQEWOQbLZT+A4EOO4oDVGuj0UbegP8DX5OJmijkqHC0LzqPTtKJ/mvI5LUqs8BuXZPQvV8ScnQxzWbRCUc91z4oxIl2q7l5btsOaZhHpJNv0lgJYTJrNKify1lr2rfELsm7TLrKInrjUCCF23jGKRac7gAok3p89bx5f968udARJDzfFjNewLMwKjmC1c8kxk7EtsqCOuiS+VHecnEtqJohFHIotgKNyMurJaRyu6pdZJygbXwRtpeAulWsH9aasdfasdfao3glNzus3XHVeFPgyC5R38NQUdYhO4XRw0QGP6SXDPWpTRdQpX9I1WtGIC1tXFMFzmrfMQDHcBHofPXVjIhlmPWiLWDxZjEMYUB9Cwvk2+nIYw0pNKh+ztKuEaZDjUs4/ngqNIEgkgAqaYasdasdfasiq4/6BG9EsnUvHKqVMqDXceS8bK7OUpkEQpiudlgEfGju80dqreXyWhbSJj1AN+D59CbSKCyTadsfasdfasvQiasdfasdfasdfasdfasdg5DqjIQ== zhiming@503error.com |
但是,并不是所有的authorized_keys都只是长这个样子,下面介绍一下常用的其他参数:
- command=”command”
这个参数项的作用是当某人通过这把公钥登录的时候,登录进来默认要执行的命令,例如,你希望通过这个公钥的人进来,第一件事情是运行某个脚本,但是其他人如果不是通过这个公钥进来的,就不执行(这就是和bashrc的区别,bashrc里边的内容是无论怎么进来,都会执行),注意,这个参数会被ForceCommand 覆盖,如果设置了ForceCommand , 此项不会生效
- environment=”NAME=value”
这个参数项的意义在于当某人通过这把公钥登录的时候,额外增加新的环境变量,并且,通过这个途径增加的环境变量会覆盖其他途径的环境变量
- from=”pattern-list”
这个参数项的意义在于,限制私钥的使用机器(IP),例如,你的私钥不小心丢了(尽量不要发生),但是如果你设置了from这个参数,只允许从你公司的地址登录,哪怕别人有了你的私钥,也无法使用,因为他不会满足from 的前提条件其他的参数用的就更少了,可以参考如下例子:
1 2 3 4 5 6 7 8 |
# Comments allowed at start of line ssh-rsa AAAAB3Nza...LiPk== user@example.net from="*.sales.example.net,!pc.sales.example.net" ssh-rsa AAAAB2...19Q== john@example.net command="dump /home",no-pty,no-port-forwarding ssh-dss AAAAC3...51R== example.net permitopen="192.0.2.1:80",permitopen="192.0.2.2:25" ssh-dss AAAAB5...21S== ssh-rsa AAAA...==jane@example.net zos-key-ring-label="KeyRingOwner/SSHAuthKeysRing uniq-ssh-rsa" from="*.example.com",zos-key-ring-label="KeyRingOwner/SSHAuthKeysRing uniq-ssh-dsa" |
参考地址:
https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.3.0/com.ibm.zos.v2r3.foto100/authkeyf.htm
Latest posts by Zhiming Zhang (see all)
- aws eks node 自动化扩展工具 Karpenter - 8月 10, 2022
- ReplicationController and ReplicaSet in Kubernetes - 12月 20, 2021
- public key fingerprint - 5月 27, 2021