Git SSH аутентификация

У меня есть Debian, Fisheye и Git на моем сервере. Моими git-репозиториями управляет Fisheye. В Fisheye нет аутентификации. Все процедуры аутентификации управляются git.

Я хотел бы использовать SSH-аутентификацию, поэтому мне не нужно указывать имя пользователя и пароль при отправке изменений на сервер. Я знаю, как создать ключ RSA, но куда мне скопировать мой открытый ключ на сервере?

2 ответа

Решение

Ключевая часть статьи " Git на сервере - настройка сервера":

вам нужно добавить некоторые открытые ключи разработчика SSH к ~/.ssh/authorized_keys файл для этого пользователя.
Предположим, вы получили по электронной почте несколько ключей и сохранили их во временных файлах. Опять же, открытые ключи выглядят примерно так:

$ cat /tmp/id_rsa.john.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCB007n/ww+ouN4gSLKssMxXnBOvf9LGt4L
ojG6rs6hPB09j9R/T17/x4lhJA0F3FR1rP6kYBRsWj2aThGw6HXLm9/5zytK6Ztg3RPKK+4k
Yjh6541NYsnEAZuXz0jTTyAUfrtU3Z5E003C4oxOj6H0rfIF1kKI9MAQLMdpGW1GYEIgS9Ez
Sdfd8AcCIicTDWbqLAcU4UpkaX8KyGlLwsNuuGztobF8m72ALC/nLF6JLtPofwFBlgc+myiv
O7TCUSBdLQlgMVOFq1I2uPWQOkOWQAHukEOmfjy2jctxSDBQ220ymjaNsHT4kgtZg2AYYgPq
dAv8JggJICUvax2T9va5 gsg-keypair

(Примечание: убедитесь, что ключ отображается в одной строке)

Вы просто добавляете их в свой файл author_keys:

$ cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys

Если у вас нет authorized_keys файл на вашем сервере, создайте его, но убедитесь, что он защищен правильно.

server$ mkdir ~/.ssh
server$ chmod 700 ~/.ssh
server$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
server$ chmod 600 ~/.ssh/authorized_keys
server$ rm ~/id_rsa.pub

См. " Создание ключей SSH для Геррита и Хадсона" для конкретного примера.

  • Убедитесь, что git находится в PATH, используемом вашим ssh-демоном.
  • Убедитесь, что все родительские каталоги вашего ~/.ssh не доступны для записи для группы (chmod 755 только).

Вам нужно вставить свой открытый ключ внутри ~/.ssh/authorized_keys, Создайте файл, если он не существует.

Другие вопросы по тегам