45

When I create an ssh key with ssh-keygen, it includes the username and hostname of the machine it was created on. Is there any way to avoid this? I read the manpage and didn't see anything.

4 Answers 4

54

The user name is a comment, you can delete it or set it with the -C option

I do not see a host name anywhere in the keys, what file are you looking at ?

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 test.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2XiZLbaRwCZFPYUMNdzL7zCRvijpd4PaEbK4/zcXb6ns/9Eg2URJEVIDEBbKFrNnCQU48VNjiGG4yDyrn7COHLzWKgvLjraYV8gD0MnzqE52U5L85iuuhXcgVhc0i4Jqu3k4XoUNHGqtYMZstBhS39MCD2h8bkfKuz4eycWlyfKpktd8yIJjeUsV39mw7U7/qh/508RGuwriYe8AYNqgivnL0PmZaDwZGTCnEFaP0IPLbqKyFTcmSuVChmTYttE1Kcj4DNI57APaq2EzSGUNrBVGSJ7Q6KbXC4xiSF+RCDy8ruOk7hj2x2MGOwBZdvhy55kmMkhUMCC7BUcSiRA9F noname

No username or hostname in either file, test or test.pub

5
  • The comment was being set to my username@host. I didn't realize that that was the "comment". Thanks! Nov 16, 2014 at 6:16
  • OK, ~/.ssh/known_hosts does track hostname and ip (of the server) as it should, which is why I asked
    – Panther
    Nov 16, 2014 at 7:06
  • 6
    I would prefer to use ssh-keygen -f amp_generic.pem -C "" so that I do not have any name in the SSH public file
    – vikas027
    Apr 26, 2017 at 12:35
  • I just deleted my email at the end of test.pub, will it work?
    – Cirelli94
    Jan 30, 2020 at 11:52
  • 1
    @Cirelli94 Yes you can just manually delete the hostname at the bottom and it will work fine Mar 18, 2020 at 17:04
3

Apparently you can just delete the username@hostname at the end. I just tested it by removing that bit from one of the public keys in one of my server's authroized_keys files and it didn't seem to affect my ability to access that server with that key.

before:

ssh-rsa AAAAB... ...Kzwaw== myUser@somehost

after:

ssh-rsa AAAAB... ...Kzwaw==
0

Upon investigation, it appears that the user@hostname is just a comment. In trying to delete and import the key, it shows as invalid. BUT, editing the id_rsa.pub and replacing user@hostname with noname worked. This way you keep your existing pub key and no longer broadcast user/hostname to those that may inspect your key.

0

Additionally, if you wanted a "different comment" instead of "no comment" (what I searched for to find this post)...

The user@hostname is the default comment. You can also use -C to make that comment into anything you like.

For my purposes, I gave it the same name as the file, so I more easily recognize it in the API areas of sites I upload it to or so I know which key is referred to on remote servers with many keys in the file ~/.ssh/authorized_keys.

I use...

ssh-keygen -t rsa -N "" -f ~/.ssh/My_key_nickname -C My_key_nickname

Then, ~/.ssh/My_key_nickname.pub has = My_key_nickname at the end of the key line.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.