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
, Создайте файл, если он не существует.