Назад | Перейти на главную страницу

ssh через туннель для настройки автоматического входа в систему

Я пытаюсь скопировать ключ 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. Первый вариант предпочтительнее.