Как с помощью ssh-keygen сгенерировать закрытый-открытый ключ и сделать его авторизованным?


19

Я хочу сгенерировать публично-закрытый ключ на сервере 1 и сохранить его в местоположении, которое не является местоположением по умолчанию.

После этого сохраните открытый ключ на сервере 2; еще раз НЕ в месте по умолчанию.

Затем сделайте этот ключ авторизованным ключом.

Однако я не могу найти authorized_keysфайл в ~/.sshпапке. Как мне сделать это авторизованным?


1
ssh-keygen - это команда для генерации ключей. Он запрашивает местоположение файла ключа во время создания. Я думаю, что вы должны создать авторизованный ключ файла, если у вас его нет
sagarchalise

Ответы:


22
  1. Беги ssh-keygen -f filename.
  2. Бегать scp filename username@server:filename-on-server
  3. Войдите на сервер и запустите cat filename-on-server >> ~/.ssh/authorized_keys

Вы также можете заменить шаги 2 и 3 на ssh-copy-id -i filename username@server.


Я получаю сообщение об ошибке: слишком много аргументов
Игорь Ганапольский

@ Игорь на каком этапе?
Микель

1
Разве вы не должны добавлять имя файла.pub, а не имя файла (который будет вашим закрытым ключом?)
Сэмюэль

1

Используйте ssh-keygenкоманду. На сервере (где вы хотите ssh) хранить открытый ключ в файле ~/.ssh/authorized_keys. Если у вас еще нет каталога .ssh в вашем доме (~), создайте его (также будьте осторожны: кажется, что sshd требователен - из соображений безопасности - что никакой другой пользователь не может прочитать этот файл / dir, лучше выпустить chmod 700 в вашем каталоге .ssh и chmod 600 в файле в нем).

На машине, с которой вы хотите выполнить ssh («клиент»), вы можете использовать закрытый ключ для ssh на ваш сервер. Вы можете хранить его где угодно, затем вы можете использовать -iпереключатель ssh, чтобы дать открытый ключ, который будет использоваться. Я пишу это, так как вы заявили, что «не хранить в месте по умолчанию». Местоположение по умолчанию будет file id_dsa(для ключа DSA) внутри вашего каталога .ssh. Тогда вам не нужен -iпереключатель для указания вашего ключа, потому что он будет выбран оттуда автоматически.


1

Похоже, вы уже сделали ключи. Если нет, просто запустите ssh-keygen и примите значения по умолчанию. Создайте файл authorized_keys самостоятельно:touch authorized_keys

Когда вы храните свои личные ключи в нестандартном месте, убедитесь, что вы используете -i: ssh -i /path/to/privatekey user@host

Вот хорошая статья о ssh-keygen и использовании authorized_keys для упрощения входа в ssh:

http://www.debuntu.org/secure-your-ssh-server-with-publicprivate-key-authentification/

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.