Как можно аутентифицироваться с помощью ключевого файла при использовании ssh-copy-id?

Итак, вы хотите добавить последние три символа базового имени файла, за которыми следует подчеркивание, перед именем файла?

#!/bin/bash
EXT=.txt
for file in *${EXT}; do # presuming all the filenames have no spaces 
   base=${file%${EXT}}
   prefix=${base:(-3)}
   newname=${prefix}_${base}${EXT}
   mv ${file} ${newname}
done

Это не будет работать в оболочке Korn, поскольку она использует следующие уловки bash -specific:

ksh[3]: prefix=${base:(-3)}: bad substitution

0
23.07.2018, 18:55
2 ответа

Если у вас запущен агент ssh -и загружен старый ключ, с помощью которого вы уже можете войти в систему, он должен работать следующим образом:

ssh-copy-id -i new-key user@host

или

ssh-copy-id -i new-key host-alias-from-config

Мне пришлось добавить -f, но я не уверен, что это было ошибкой с моей стороны.

0
28.01.2020, 04:17

Я только что проверил, и ssh -copy -id поддерживает параметр -i [identity _file] точно так же, как вы использовали бы его для ssh.

Если это не работает для вас, вы можете посмотреть, поддерживает ли ваша версия эту опцию:

-o ssh -o IdentityFile ~/backups/.ssh/id_dsa

Затем вы можете попробовать обновить свою версию ssh -скопировать -id. Наконец, вы можете просто скопировать/вставить открытый ключ после входа по ssh.

0
28.01.2020, 04:17

Теги

Похожие вопросы