Комментарии 16
Хабр медленно, но уверено превращается в УГ -- это первое. Давно тут не был.
Второе, )
Неплохо было бы указать почему все-таки ed25519 тип лучше rsa, наверное, как минимум потому, что он современнее, быстрее, надежнее и.. короче )
короткий путь к переименованию файла таков (бывает, что длинна пути к файлу это целое мучение, впрочем, вообще, принято экономить):
mv ~/.ssh/{id_ed25519,personal_key}
современнее,
бесспорно ;)
быстрее,
тема скорости ключа не раскрыта ;)
надежнее
rsa с актуальной длиной взломают одновременно с запуском промышленного термоядерного реактора, лет через 20. А нет ли в выбранной эллиптической кривой уязвимостей - науке неизвестно ;)
и.. короче
его же не требуется зазубривать? ;)
Спасибо за дополнение!
Про такой короткий способ переименования файлов, честно признаюсь, не знал. Спасибо
Очень точная заметка, на мой вкус. Сравните с портянкой на GitHub https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
А почему в host и hostname нужно указывать одинаковое значение? А как настроить доступ к разным репозиториям GitHub с разными ключам? А зачем вы написали статью в которой информации меньше чем в справке GitHub по настройке подключения SSH?
А почему в host и hostname нужно указывать одинаковое значение?
Hostname
- реальное имя хоста, на который мы обращаемся (github.com, например)
Host
- в каком-то роде "псевдоним". Да, он может отличаться от Hostname
, но тогда все URI-адреса, идентифицирующие удалённые репозитории, должны будут содержать его вместо реального адреса.
Т.е. можно в конфиге задать:
Host myhost
HostName github.com
User git
IdentityFile ~/.ssh/personal_key
IdentitiesOnly yes
но тогда и удалённые репозитории будут иметь адреса вида git@myhost:username/reponame.git
.
Зачем это нужно, если для получения доступа используется один ключ, мне не понятно. В этом случае, на мой взгляд, логичнее задать в Host
реальный адрес хоста, чтобы:
Не создавать путаницу
При клонировании репозиториев, например, с GitHub использовать стандартные адреса вида
git@github.com:username/reponame.git
и не иметь проблем.
А как настроить доступ к разным репозиториям GitHub с разными ключам?
На практике пока не сталкивался с такой задачей.
Во-первых, этот вопрос рассмотрен в статье "How to Manage Multiple SSH Keys", перевод которой я указал в своей статье. А именно - через настройку git'а:
git config core.sshCommand 'ssh -i ~/.ssh/id_rsa_corp'
Во-вторых, предположу, что также можно при помощи упомянутых ранее настроек в ssh-конфиге:
Host host_1
HostName github.com
User git
IdentityFile ~/.ssh/key_1
IdentitiesOnly yes
Host host_2
HostName github.com
User git
IdentityFile ~/.ssh/key_2
IdentitiesOnly yes
Первый репозиторий будет иметь адрес git@host_1:user/repo_1.git
и к нему мы будем получать доступ при помощи первого ключа. Второй репозиторий будет иметь адрес git@host_2:user/repo_2.git
и к нему мы будем получать доступ при помощи второго ключа.
А зачем вы написали статью в которой информации меньше чем в справке GitHub по настройке подключения SSH?
Потому что я хотел написать краткий и практико-ориентированный туториал по тому, как настроить ssh-подключение.
А под каким пользователем вы рекомендуете ключи генерировать? Есть какой-то доступ к пользователю root, подскажите пожалуйста он подойдет?
Рекомендую генерировать под своим пользователем. Не совсем понимаю, зачем в данном случае генерировать их с правами супер-пользователя (от пользователя root
)
Для той аудитории для которой вы пишите скорей всего своим/обычным будет пользователь root. Ключи для root можно сгенерировать. Аргументированную рекомендацию неплохо было бы включить в тело статьи.
Для той аудитории для которой вы пишите скорей всего своим/обычным будет пользователь root.
Почему?
В Linux, наоборот, не рекомендуется (раз , два, три) без надобности работать от имени root
-пользователя. Для большинства своим/обычным пользователем наверняка будет как раз собственный пользователь, созданный при установке системы (или в процессе её использования), а не root
.
Можно ли сгенерировать ssh-ключи от root'а? Можно. Зачем?
Зачем?
Потомушто ;)
Так то ключ от root и ключ от guest не отличаются ничем ;) Это просто файлы. Более того, если просто сгенерировать ключ - автоматически доступ никуда не настроится, даже к localhost.
Вы вроде как сделали что-то вроде инструкции. В которой есть такой пункт "Если у вас ещё нет пары ssh-ключей". Вот добавьте туда рекомендацию о генерации этих самых ключей не под root. Я не могу вам сказать зачем и почему это было сделано, но иногда такое попадалось. Зачем добавить? Чтобы попадалось поменьше.
Тема подписи коммитов ssh-ключом не раскрыта. Подозреваю что это как раз тема следующей статьи.
https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits
Все уже написано до нас. Ждем видеоинструкцию.
SSH и удалённые git-репозитории