Я новичок в процессе UNIX scipt и SFTP. Мне нужно написать скрипт KSH, с помощью которого я могу передавать файлы на сервер sftp. Я создал пары ключей SSH. Я также разработал код KSH. Но каждый раз, когда скрипт KSH выполняется другим идентификатором, он запрашивает пароль, где, когда я выполняю его, он не запрашивает пароль, даже если идентификатор группы для этих двух идентификаторов пользователя одинаковый. Ниже мой раздел, где я отправляю файлыМожет ли SSH-ключ, созданный одним идентификатором пользователя, использоваться другим идентификатором для SFTP?
###################################################
# SFTP to MFT ---> SFTP to MFT ---> SFTP to MFT #
###################################################
# Execute SFTP command to PUT a file on MFT #
# $1 - SSH Private Key File #
# $2 - SFTP User ID @ MFT Server #
# $3 - Source Directory (to take files from) #
# $4 - MFT Directory (to place files into) #
# $5 - File to MPUT #
# $6 - MFT PWD #
###################################################
function sftpputtomft {
sftp -o identityfile=${1} ${2} >> $SFTP_LOG << ENDSFTP
lcd ${3}
cd ${4}
mput ${5}
bye
ENDSFTP
Возможно, что ключевой агент ssh помогает вашей обычной учетной записи не вводить пароль. Но в целом это должно сработать. Ключи ssh никак не привязаны к определенному идентификатору пользователя или тому подобному. Вам нужно только убедиться, что права доступа в порядке. – arkascha
'openssh' проверяет разрешение закрытого ключа. Если ключ читается не владельцем, он откажется его использовать. Он работает для вас, потому что когда вы его создали, по умолчанию 'ssh-keygen' создает ваш ключ для чтения только вам. Используйте опцию '-v -v -v' с' sftp'. Это покажет, что происходит при попытке подключения. – alvits