Я пытаюсь скопировать ключ id_rsa.pub на сервер. На сервере в моем случае также есть виртуальная машина под названием dev, которая работает на хост-машине. Я скопировал ключ id_rsa.pub на хост для автоматического входа с помощью этой команды.
ssh-copy-id -i ~/.ssh/id_rsa.pub vickey@host
который работал нормально, и я могу автоматически войти на хост. Я также хотел автоматически войти в систему разработчика. Я знаю, что могу просто скопировать содержимое authorized_keys с хост-машины на машину разработчика, но я ищу командную строку для выполнения действий. Создание туннеля казалось решением
ssh vickey@host -L 2000:dev:22 -N
сейчас, когда я попробовал
ssh-copy-id -i ~/.ssh/id_rsa.pub vickey@localhost -P 2000
пароль, который работал здесь, был моей локальной машины, я ожидал, что он спросит у меня пароль моей машины разработчика. Приведенная выше команда добавляет ключ pub на локальный компьютер, а не на машину разработчика.
Однако эта команда запрашивает у меня пароль разработчика и копирует файлы.
scp -P 2000 vickey@localhost:/home/vickey/trash/vim .
vickey@localhost's password:
vim 100% 111 0.1KB/s 00:00
Как мне сделать то же самое с ssh-copy-id?
Проблема в том, что ssh-copy-id
нет переключателя -P
. Также прочтите этот сообщение, чтобы понять, почему вы не сможете войти с помощью ssh -p 2000 vickey@host
.
Таким образом, вам нужно либо создать новое удостоверение на хосте, а затем скопировать его открытый ключ в dev, либо вы скопируете существующий закрытый ключ на хост, а затем открытый ключ для dev. Первый вариант предпочтительнее.