Я начинаю работать в организации на их сервере. Им необходимо разрешить соединения с моего сервера, чтобы использовать GIT через SSH.
Они попросили меня поместить это в мой SSH-каталог:
SHORTNAME=abcdef
FULLNAME=12.34.56.789
PORT=9999
ssh-keygen -t rsa -N '' -f ~/.ssh/id_rsa_${SHORTNAME}
cat <<EOF >> ~/.ssh/config
host ${SHORTNAME}
hostname ${FULLNAME}
port ${PORT}
identityfile ~/.ssh/id_rsa_${SHORTNAME}
compression yes
protocol 2
ServerAliveInterval 60
EOF
ssh ${SHORTNAME} "mkdir -p ~/.ssh"
scp -P ${PORT} ~/.ssh/id_rsa_${SHORTNAME}.pub ${FULLNAME}:~/.ssh/id_rsa_${SHORTNAME}.pub
ssh ${SHORTNAME} "cat ~/.ssh/id_rsa_${SHORTNAME}.pub >> ~/.ssh/authorized_keys"
Я новичок в Linux. Я просто хочу убедиться, что запуск этого в SSH не позволит им получить доступ к моему серверу. Мы пытаемся найти решение, в котором моему серверу разрешено подключаться к их серверу для запросов push и pull через GIT через SSH. Это безопасно? Или есть лучшее решение для выполнения этой задачи?
Этот сценарий ... при запуске в вашей локальной системе ... будет:
.ssh
каталог. Вы получите два файла, id_rsa_abcdef
и id_rsa_abcdef.pub
.Он создаст для вас файл конфигурации ssh в .ssh/config
со следующим содержанием:
host abcdef
hostname 12.34.56.789
port 9999
identityfile ~/.ssh/id_rsa_abcdef
compression yes
protocol 2
ServerAliveInterval 60
Это позволит вам ввести ssh abcdef
, например, и ssh
будет знать, чтобы подключиться к хосту 12.34.56.789
в порту 9999
используя только что созданную пару ключей, без необходимости вводить кучу дополнительных параметров командной строки.
Затем он скопирует ваш открытый ключ ssh на удаленный сервер, чтобы вы могли использовать свой закрытый ключ для аутентификации.
Он не предоставит никому доступ к вашей локальной машине.
Команды / скрипт, которые вы разместили здесь, безопасны и создадут пару ключей для использования для аутентификации SSH и скопируют открытый ключ в $ {FULLNAME}. Это хорошее решение.