Как скопировать папку клона в удаленный компьютер в одной строке?

У меня есть две машины с той же структурой папок. Каждый - мой персональный компьютер, другой удаленный компьютер. Иногда я хочу, чтобы программа работала на удаленном компьютере. В данный момент я всегда должен

  1. ssh к удаленному компьютеру
  2. Введите мой пароль
  3. скопируйте папку вручную с помощью rsync

Даже если бы я записал бы сценарий для rsync (как один показанный ниже), я должен был бы все еще ввести свой пароль каждый раз или трудно кодировать его в сценарии удара (который будет глуп).

#!/bin/bash/
pathToSync="/path/to/my/Folder/"
rsync -r -l -p --progress "$pathToSync"/ myUsername@nameOfRemoteComputer:"$pathToSync"

У кого-то есть идея того, как решить эту проблему более эффективно? Таким образом, что в конце я только должен записать

sync myFolder nameOfRemoteComputer

На вопрос ответили.
Как Дополнение к корректному ответу, данному ниже. Вот команды удара для создания ssh и rsync работа, не имея необходимость вводить пароли. На клиентском типе компьютера:

mkdir ~/.ssh #, Возможно, эта папка уже существует chmod 700 ~/.ssh cd ~/.ssh ssh-keygen-t rsa #, Это создает CP с открытым ключом authorized_keys authorized_keys_Backup #, Это копирует старый / существующая кошка ключи id_rsa.pub>> ~/.ssh/authorized_keys ssh-copy-id nameOfRemoteComputer

Готово! (-> Проверка, если бы ssh работает без пароля теперь) (у меня есть то же имя пользователя на клиенте и удаленном компьютере иначе, это было бы ssh-copy-id myRemoteUsername@nameOfRemoteComputer)

0
задан 19 January 2016 в 17:59

1 ответ

SCP

, Так как у Вас есть ssh доступ, можно просто использовать команду scp, чтобы сделать работу.

В терминале войдите:

scp -r /path/to/my/folder myUsername@nameOfRemoteComputer:/path/to/my/folder

, Если Вы также используете то же имя пользователя на обоих компьютерах, Вы можете даже ommit myUsername@ и просто войти:

scp -r /path/to/my/folder nameOfRemoteComputer:/path/to/my/folder

название удаленного copumter может быть IP, доменным именем или именем, присвоенным в /etc/hosts.

Стараются не Вводить Пароль для соединения SSH

, Вы могли установить Пару ключей SSH между своим сервером и своей локальной машиной.

я предложил бы, чтобы Вы использовали Пароли и приложение Keyes . Это должно прибыть предварительно установленное в Ubuntu.

enter image description here

Новая Пара ключей

Нажатие зеленый + и создают новое Безопасный Ключ Shell . Следуйте за диалоговыми окнами для создания новой пары ключей.

Здесь можно найти, что терминальные команды генерируют пару ключей id_rsa и id_rsa.pub, необходимо будет заставить копию id_rsa.pub к серверу заставлять пару ключей работать.

Добавляют содержание id_rsa.pub в файл ~/.ssh/authorized_keys в Вашем сервере в новой строке. Вы могли использовать команду: cat id_rsa.pub >>~/.ssh/authorized_keys после входа в систему в через ssh.

при установке пароля на закрытый ключ, необходимо будет ввести пароль в ulock он. Не присвойте пароль для простоты использования.

3
ответ дан 26 July 2019 в 09:19

Другие вопросы по тегам:

Похожие вопросы: