#docker #ssh-keys
#docker #ssh-ключи
Вопрос:
У меня есть несколько ssh-ключей, которые я использую с github. На этой странице я протестировал их локально:
ssh -T git@github.com
Hi doug-companyname! You've successfully authenticated, but GitHub does not provide shell access.
Я запускаю docker-контейнер и под томами в docker-compose у меня есть:
- ~/.ssh:/home/rstudio/.ssh
Это делается для того, чтобы предоставить контейнеру те же ключи, что и локальным.
Когда я запускаю контейнер, если я смотрю в ~/.ssh, я вижу ключи:
rstudio@9b5b5114115b:~$ ls -l ~/.ssh
total 12
-rw------- 1 1001 1001 452 Nov 7 19:35 id_ed25519
-rw-r--r-- 1 1001 1001 131 Nov 7 19:35 id_ed25519.pub
-rw-r--r-- 1 1001 1001 2212 Nov 15 16:50 known_hosts
Они действительно такие же, как у хостов, мои локальные.
Однако, когда я пытаюсь выполнить тот же тест, я получаю:
rstudio@9b5b5114115b:~$ ssh -T git@github.com
bash: ssh: command not found
Почему мои ключи не работают в моем контейнере, но они отлично работают на локальном?
Комментарии:
1. Пожалуйста, поделитесь своим файлом dockerfile
2. Я подозреваю, что на вашем изображении по умолчанию не установлен SSH-клиент.
3. Да, только что добавлено
RUN apt-get update amp;amp; apt-get install -y ssh
и, похоже, работает сейчас. Возможно, мне следует удалить?4. Что удалить?
5. @Ashok Он имеет в виду, должен ли он удалить свой вопрос, потому что он считает, что это была глупая ошибка ( ПРИМЕЧАНИЕ: я лично не считаю, что это было глупо — мы все время от времени сталкиваемся с подобными проблемами, и я бы оставил вопрос как есть).
Ответ №1:
Я подозреваю, что на вашем изображении по умолчанию не установлен SSH-клиент. Добавьте строку ниже в свой Dockerfile.
RUN apk add --no-cache openssh-client