2015-05-13 2 views
0

Я новичок в процессе 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 
+0

Возможно, что ключевой агент ssh помогает вашей обычной учетной записи не вводить пароль. Но в целом это должно сработать. Ключи ssh никак не привязаны к определенному идентификатору пользователя или тому подобному. Вам нужно только убедиться, что права доступа в порядке. – arkascha

+0

'openssh' проверяет разрешение закрытого ключа. Если ключ читается не владельцем, он откажется его использовать. Он работает для вас, потому что когда вы его создали, по умолчанию 'ssh-keygen' создает ваш ключ для чтения только вам. Используйте опцию '-v -v -v' с' sftp'. Это покажет, что происходит при попытке подключения. – alvits

ответ

0

OpemSSH откажется использовать ключ, который можно прочитать другими. Если вы попытаетесь, вы получите аналогичное ПРЕДУПРЕЖДЕНИЕ, как показано ниже.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
@   WARNING: UNPROTECTED PRIVATE KEY FILE!   @ 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
Permissions 0644 for '/Users/XXXXXXXX/.ssh/id_rsa' are too open. 
It is required that your private key files are NOT accessible by others. 
This private key will be ignored. 
bad permissions: ignore key: /Users/XXXXXXXX/.ssh/id_rsa 

Надеюсь, это поможет.

+0

Я согласен с @alvits. Я получил то же сообщение, когда я попробовал изменить права доступа к файлам ключей. – Rajdeep

 Смежные вопросы

  • Нет связанных вопросов^_^