2 заметки с тегом

Терминал

SSH без пароля и приватный доступ к GIT

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

Если ключа нет, сгенерируем его:

# генерация пары public/private rsa ключей (создаст 2048 битный RSA ключ)
ssh-keygen -t rsa -b 2048
# или можно сгенерировать 4096 битный ключ с комментарием
ssh-keygen -t rsa -b 4096 -C "КОММЕНТАРИЙ"

После размещения ПУБЛИЧНОГО ключа на сервере в списке авторизованных, он перестанет запрашивать пароль при подключении.

# сделать это можно используя команду ssh-copy-id (если она имеется)
ssh-copy-id user@server
# или при помощи последовательности команд
cat ~/.ssh/id_rsa.pub | ssh user@server "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >>  ~/.ssh/authorized_keys"
# если возникли сложности с командами, добавьте ключ вручную в файл ~/.ssh/authorized_keys

Теперь, мы можем подключаться без пароля.

# подключаемся по SSH
ssh user@server
# работает, далее давайте настроим приватный доступ к GitHub — убедимся, что он нас не узнает
user@server:~$ ssh -T git@github.com
Permission denied (publickey).
# так и есть, не узнал

Для того, чтоб он нас узнавал, необходимо добавить наш ПРИВАТНЫЙ ключ в SSH-клиент и установить соединение с использованием личного ключа используя атрибут -A.

# добавляем ключ в SSH-клиент
ssh-add ~/.ssh/id_rsa
# подключаемся по SSH с использованием добавленного ключа (указав атрибут -A)
ssh -A user@server
#  проверяем узнает ли нас теперь GitHub
user@server:~$ ssh -T git@github.com
Hi KirillArtemenko! You've successfully authenticated, but GitHub does not provide shell access.
#  теперь можно работать со своими приватными репозиториями

На этом все. Приятного использования!

2018   Git   SSH   UNIX   Использую   Комманды   Консоль   Совет   Терминал
2017   IP   Комманды   Консоль   Терминал