Я хочу сгенерировать публично-закрытый ключ на сервере 1 и сохранить его в местоположении, которое не является местоположением по умолчанию.
После этого сохраните открытый ключ на сервере 2; еще раз НЕ в месте по умолчанию.
Затем сделайте этот ключ авторизованным ключом.
Однако я не могу найти файл authorized_keys
в папке ~/.ssh
. Как мне сделать это авторизованным?
ssh-keygen -f filename
. scp filename username@server:filename-on-server
cat filename-on-server >> ~/.ssh/authorized_keys
Вы также можете заменить шаги 2 и 3 на ssh-copy-id -i filename username@server
.
Используйте команду ssh-keygen
. На сервере (где вы хотите ssh) сохранить открытый ключ в файле ~/.ssh/authorized_keys
. Если у вас еще нет каталога .ssh в вашем доме (~), создайте его (также будьте осторожны: кажется, что sshd требователен - из соображений безопасности - что никакой другой пользователь не может прочитать этот файл / dir, лучше выпустить chmod 700 в вашем каталоге .ssh и chmod 600 в файле в нем).
На машине, с которой вы хотите использовать ssh («клиент»), вы можете использовать закрытый ключ для ssh на ваш сервер. Вы можете хранить его где угодно, затем вы можете использовать переключатель -i
ssh, чтобы дать открытый ключ, который будет использоваться. Я пишу это, так как вы заявили, что «не хранить в месте по умолчанию». Расположение по умолчанию будет file id_dsa
(для ключа DSA) внутри вашего каталога .ssh. Тогда вам не нужен переключатель -i
для указания вашего ключа, потому что он будет выбран оттуда автоматически.
Кажется, что Вы уже сделали ключи. В противном случае просто выполненные 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/