Я хочу сгенерировать публично-закрытый ключ на сервере 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/
источник