Я широко использую scp и ssh для работы. Мне немного скучно вставлять пароль каждый раз. Обычно я копирую много файлов с терминала с локального компьютера на удаленный, и мне было интересно, есть ли способ сохранить соединение scp открытым. Я имею в виду, было бы здорово, если есть что-то вроде этого:
$ scp user@server # to estabilsh the connection
user@server's password:
$ scp file1 user@server:/folder # No password asked!
$ scp close # to close the connection
Несмотря на то, что возможно сохранить соединение открытым, наилучшим способом сделать это, вероятно, является использование аутентификации с открытым ключом, которая устраняет необходимость повторного ввода пароля.
Предполагая, что и локальная, и удаленная машины работают под управлением Linux:
user@local $ cat .ssh/id_rsa.pub | ssh user@remote 'cat >> .ssh/authorized_keys'
Добавит ключ SSH локальной машины в список предварительно одобренных пользователей удаленной машины и последующие ssh
или scp
команды не должны требовать пароля.
Если вас все еще спрашивают о пароле, вам может потребоваться сделать
user@remote $ chmod 400 .ssh/authorized_keys