![防止 ssh-keygen 包含用户名和主机名](https://linux22.com/image/865236/%E9%98%B2%E6%AD%A2%20ssh-keygen%20%E5%8C%85%E5%90%AB%E7%94%A8%E6%88%B7%E5%90%8D%E5%92%8C%E4%B8%BB%E6%9C%BA%E5%90%8D.png)
当我使用 ssh-keygen 创建 ssh 密钥时,它包含创建密钥的计算机的用户名和主机名。有什么方法可以避免这种情况吗?我阅读了手册页,但什么也没看到。
答案1
用户名是注释,可以删除,也可以用-C选项设置
我在密钥的任何地方都没有看到主机名,您正在查看哪个文件?
ssh-keygen -f test -C noname
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in test.
Your public key has been saved in test.pub.
The key fingerprint is:
a8:fa:78:ea:bb:c6:70:67:4c:79:ac:0d:a7:78:5a:40 noname
The key's randomart image is:
+--[ RSA 2048]----+
| |
| E |
| . o |
| . + +. |
| = B. S |
|. o O.. |
| + *. |
| +o. |
| oB*. |
+-----------------+
cat test
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,6BD3B77199F57BCD0BBC4BD4D717931C
+hko6XxmbmqLlV32dFLTuS6vYSh5OGOBR9Q29OVewRwS6XN2+jbuCBviOdN/CnLh
k/Dzpjt9bPinFLI73RsfYMGUZ+kiBKIotYBqjJrkfMLNkZV0xvzk//tIEQatKyYI
W3OczGVt4EXfXozTvAQSpbEA5pYS5nLCbWSwx98Ilsqej+bnHJDflAhY5kFnrvOm
N66ODWa8FXpmJmJnIU4E8X+w33NO0nxXEiK8EUoRKFHnopwE+uQVkC6z3gPzqCd0
gCJrCDZ7zBaz947jlebH91liygrj1wTnuUbJOk0VnHyHMO1nO0piPOmjPZbL/C4Q
R8Z7C2Hm4cCaTRYbzZCcLvXCdlisCnGmM2a6dIGU5JECYuCB14k0npYqlY0dSJfb
XJx07z0wlkBWzOOUrWkc4U21+BBmYZe8DgHX/p6TNPxkugumIEUgu+xSL8RhwM6Y
lF4miW1s30g4/BpzN5GHTrpJGyyDBLojGR+P42LmsfiuCojU0NFbmrNlX23dSGj0
3wTSwuw179P6FDAEhJo8Znly8W+XP1pKeRn/ozdXW3WJWICDFZzVIe6VSlRES95Q
tcSeWDQRKhZWsGR+yriRwQSYROVje60d1TTMDIm6fcoxJuADGhrlq0pOpz9UuCLN
NbLFksM7NZc7eyYFEx7CBJkaOit1oT9DoH/Bd3mqSYORF5IHaXrTWXqtat1rCIqC
kRmioYdeAf/Daba4DrwXkmjwpPiEswsuaAID0H5AO0F7+vj227aHU0liyly6Qf0U
yGkt+tYE0yYyEY6gGXYZjZlzvw+MWWqebWPxHDZRtTOfZRVCzUW72AaT09SjAG9M
uwo55HW8ezb8F+GsgTNcmB9qo/iOSjwIoM8Vv+1fbncABKn77l0yPAMVPUGcKDE7
cFcS5RAN5XyYTPtGarCYfx27LR02CGRAzg14AtTXnPzIV/j3yRI9y6vJ9gY9zlpR
fnNGM+EMFwuPHawQhVoGuW1HVGPjDBXCYXAnFspQWVexM/0rfXey3Ld4npgBLezl
mb7I2wlaqNURSZ3G3Uh9i5g3q6QqfwLfV1WqtEpQTTy2LvbKowfJGzpokuEshElR
vEQ4uz+bjuurj5zROw12dV4ssPV03J+p06ma5ubsZKK2yq+dCxB8n1sc/EsoW3Ds
DUY68ZpXU7H0/XjDRI0UIV8FhXIpqZlWJTvmFwcYrpV5qW2I7dAScw05yxr9mN54
pODN1cSe9LKqSTtB8j7uOYFl5Ac3VWNtLd/KPRqb7utaeh0/xPAhBfHazYGaCRUD
ccOVD4/9wdFqEn9FK/vlII2Xp60Idbb4MSDWvMyGwmQ5f2zvxiJqtzLAy8CMt685
HxdIvBuxmiKyrA2g8g22ADMc7dz3nkvMdali+WZx4HqtOVJFl2D7/6x5uy4Wpo6p
8IbPyyr6sQZb/IMyVGQTVcJjEiai+sme373oB6CbVA/zCB1I6/DWNdNc1iUIG8IQ
jBS5IKnjHBPCrbhBXDk533FRDH8PY6h3RFaUtjc1lMQ/QhKZoFsWcBN5boPB5S/z
douETUJRJF7KUTrVwdeGyifBEuoGn8bQCtKSkXqzTvnpqDNvMmKVOn/5PGody24V
-----END RSA PRIVATE KEY-----
cat 测试.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2XiZLbaRwCZFPYUMNdzL7zCRvijpd4PaEbK4/zcXb6ns/9Eg2URJEVIDEBbKFrNnCQU48VNjiGG4yDyrn7COHLzWKgvLjraYV8gD0MnzqE52U5L85iuuhXcgVhc0i4Jqu3k4XoUNHGqtYMZstBhS39MCD2h 8bkfKuz4eycWlyfKpktd8yIJjeUsV39mw7U7/qh/508RGuwriYe8AYNqgivnL0PmZaDwZGTCnEFaP0IPLbqKyFTcmSuVChmTYttE1Kcj4DNI57APaq2EzSGUNrBVGSJ7Q6KbXC4xiSF+RCDy8ruOk7hj2x2MGOwBZdvhy55kmMkhUMCC7BUcSiRA9F 无名称
文件 test 或 test.pub 中没有用户名或主机名
答案2
显然,您可以直接删除username@hostname
末尾的。我刚刚通过从我的一个服务器文件中的一个公钥中删除该位进行了测试authroized_keys
,这似乎并没有影响我使用该密钥访问该服务器的能力。
前:
ssh-rsa AAAAB... ...Kzwaw== myUser@somehost
后:
ssh-rsa AAAAB... ...Kzwaw==
答案3
经过调查,似乎user@hostname
只是一条注释。在尝试删除并导入密钥时,它显示为无效。但是,编辑id_rsa.pub
并替换user@hostname
为noname
有效。这样,您可以保留现有的公钥,并且不再向可能检查您密钥的人广播用户/主机名。
答案4
此外,如果您想要“不同的评论”而不是“无评论”(我搜索了此帖子)...
这user@hostname
是默认评论。您也可以使用-C
该评论将其改为任何您喜欢的内容。
为了我的目的,我给了它与文件相同的名称,这样我就可以更容易地在我将其上传到的站点的 API 区域中识别它,或者我知道在文件中具有许多密钥的远程服务器上引用了哪个密钥~/.ssh/authorized_keys
。
我用...
ssh-keygen -t rsa -N "" -f ~/.ssh/My_key_nickname -C My_key_nickname
然后,在关键行的末尾~/.ssh/My_key_nickname.pub
有。= My_key_nickname