Как использовать команду scp без опции -i и все равно найти ключ конфиденциальности

Как использовать команду scp без опции -i и все равно найти ключ конфиденциальности

Я вошел в систему на компьютере с ОС Win2008 и запустил ее scpс параметром -i, который указывает на каталог, где на компьютере с ОС Win2008 находится закрытый ключ.

scp -i "cygdrive/c/users/userid/privkey..." user@linux:/dirA/dirB/* .

Когда я запускаю эту команду на коробке win2008, она входит в Linux, сопоставляет ключи и отправляет файлы на коробку win2008. Если я не укажу ключ, она запросит у меня пароль.

Я сгенерировал ключи на коробке win2008 с помощью ssh-keygen. Я добавил ключ Linux в настройку winsshd в разделе public keys. Затем я взял ключ из ssh-keygen и поместил его на коробку Linux.

Где команда scp ищет ключ? Как запустить scpиз коробки win2008, не передавая ключ в качестве параметра?

решение1

Если я правильно понял ваш вопрос, есть несколько вариантов...

  1. установите местоположение файла идентификации по умолчанию таким же образом, как это делается для SSH, как описано здесь...https://stackoverflow.com/questions/84096/setting-the-default-ssh-key-location

  2. или добавьте к своей scpкоманде псевдоним, включив в него модификатор, например...alias scp='scp -i /path/of/keyfile'

Оба варианта должны работать, но я рекомендую вариант 1, а не вариант 2. Это более правильный способ.

решение2

Думаю, я нашел свой собственный ответ. Судя по всему, scp ищет файл закрытого ключа с именем id_dsa И хочет, чтобы он находился в каталоге .ssh. Как только я нашел home/.ssh в структуре каталогов cygwin (еще один ключевой элемент головоломки), добавил файл закрытого ключа с именем id_dsa и запустил команду scp без опции -i, все заработало. Спасибо всем за то, что послали мне «умные» флюиды, чтобы я смог разобраться. Больше не в недоумении! Мне нравятся все высказанные здесь предложения. Ценю быструю обратную связь.

Связанный контент