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

пароль для ssh и scp

(1) Я хочу загрузить несколько файлов на сервер

for (( i=0 ; i < 23 ; i+=1 )); do  
    echo mypassword | scp tim@xxx.xxx.xxx.xxx:project/$i/train10000/finer_search_c_g ~/project/$i/train10000/  
done

Я надеюсь, что если передать мой пароль в scp, цикл будет выполнен без взаимодействия. Однако он по-прежнему просит меня ввести пароль вручную. Как мне указать свой пароль для scp?

(2) Я не использую ключи аутентификации, сгенерированные ssh-keygen, потому что сервер фактически является головным узлом кластера. Я обнаружил, что если я использую ssh-keygen для генерации ключей аутентификации, файлы в ~ / .ssh будут осуществлять доступ между узлами, требующими пароля, и я не могу найти решение. Можно ли сделать доступ между узлами с пустым паролем при использовании ключей аутентификации для доступа к головному узлу извне кластера?

Спасибо и привет!

Используйте ключевой файл. Поместите файл закрытого ключа на свой клиент и используйте ssh-agent, чтобы сохранить файл ключа, загруженный в память, в дешифрованном виде. Разместите файл открытого ключа в каждой из систем, к которым вы хотите получить доступ.

Используйте пересылку аутентификации для создания соединений между различными хостами без запроса аутентификации.

scp / ssh проверит входной поток, чтобы проверить, является ли он TTY, и, если нет, попробует альтернативные способы получить пароль, поэтому простой конвейер не будет работать (потому что канал не является tty).

Вам необходимо скопировать открытый ключ в файл .ssh / authorized_keys в системе, к которой вы хотите подключиться.