java практика: копирование файлов по ssh
java практика сайт
ссылка на github

КОПИРОВАНИЕ ФАЙЛОВ ПО SSH

После аренды виртуального сервера не всегда удобно что-то делать сразу на нем. Чаще всего проект будет делаться на локальном компьютере и лишь потом копироваться сервер.

Генерируем открытый и закрытый ключ:

ssh-keygen

В консоль будет выведен хеш ключа и его графическое представление. Сами ключи по умолчанию (id_rsa.pub - открытый и id_rsa - закрытый) сохранятся в домашнем каталоге пользователя в директории .ssh.

Во время генерации программа попросит ввести пароль, которым будут защищены ключи. Это не обязательно (нажать дважды enter).

Копируем публичный ключ на удаленную машину:

ssh-copy-id [имя пользователя]@[ip-адрес]
            |                   |
            |<-1                |<-2
  где:
1 - учетная запись пользователя, 
    под которой будем логиниться на удаленной машине
2 - адрес удаленной машины (или доменное имя)

Вводим пароль пользователя.

Копируем с локальной машины на удаленный сервер:

scp [путь к файлу] [имя пользователя]@[ip-адрес]:[путь к файлу]

Копируем файл на сервер

scp test.txt user@192.168.1.29:/home/user/

Копируем несколько файлов за раз (указываем пути к ним через пробел):

scp test1.txt test2.txt user@192.168.1.29:/home/user/

Копируем с удаленного сервера на локальную машину (меняем источник и место назначения местами):

scp user@192.168.1.29:/home/user/test.txt ~/

Передача директории (используем ключ -r):

scp -r testdir user@192.168.1.29:/home/user/

Передача с одного удаленного сервера на другой:

scp gendo@192.168.1.25:/home/gendo/test.txt user@192.168.1.29:/home/user/