2

Мне нужно скопировать несколько небольших файлов с удаленного компьютера на локальный. Мне нужно делать это несколько раз в день. В настоящее время я использую скрипт, который использует scp для копирования файлов. Тем не менее, это медленно, так как каждый раз, когда мне нужно аутентифицироваться. Есть ли способ, кроме монтирования, сделать одну аутентификацию и сохранить ее, пока я не закончу копирование?

2 ответа2

1

Просто используйте функцию ControlMaster SSH. Для этого я разместил глобальный вариант:

Host *
    ControlPath ~<user>/.ssh/ctrl-%r-%h-%p

В моем .ssh/config. Конечно, вы должны заменить <user> соответственно вашим логином.

Всякий раз, когда я хочу установить первоначальное мастер-соединение, я добавляю '-M':

ssh -M <machine>

Это создает управляющий сокет с именем файла, указанным выше. Любой последующий вызов ssh/scp, предназначенный для этого <machine> будет повторно использовать существующее главное соединение. Значительно ускоряет процесс подключения, так как не требуется дополнительная аутентификация в течение времени, когда существует управляющее (== master) соединение. В качестве приятного побочного эффекта вам не нужно повторно вводить вашу парольную фразу, как только вы дадите ее для установления основного соединения.

0

Вы можете использовать ssh-add для добавления закрытых ключей в ваш агент аутентификации ssh. Увидеть

man ssh-add

а также

man ssh-agent

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .