2

У меня есть две коробки Linux.

Во-первых, есть работа cron, которая отлавливает несколько файлов. Я хочу, чтобы другая коробка загрузила его автоматически.

Теперь я намеренно не указал какой-либо метод для достижения этой цели, потому что я мог бы просто ограничить себя средним решением.


Ища в Интернете, я мог бы использовать rsync, но нет кратких примеров.

Другой вариант - создать выделенного пользователя SSH с очень ограниченными правами (dir jail, отсутствие dir-списка и т.д.), Который будет использоваться ведомым устройством для загрузки тарбола.

Какие варианты у меня есть? Любая ссылка на хороший пример?

Требования: в настоящее время я не против полосы пропускания и т.д. Файл в любом случае не слишком большой.

2 ответа2

1

Это для пароля без логина.

Сначала создайте ключ id_rsa.pub используя этот метод

[max@localhost .ssh]$ ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/home/max/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/max/.ssh/id_rsa.
Your public key has been saved in /home/max/.ssh/id_rsa.pub.
The key fingerprint is:
93:24:83:37:eb:5e:13:97:d1:ea:bd:0a:d8:29:9f:ba max@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|     .     .     |
|    . = . . .    |
|     . * . +     |
|      . S +      |
|     . o * .     |
|      + * . .    |
|     . + +   .   |
|      Eoo ...    |
+-----------------+

Поделиться ключом id_rsa.pub с удаленной системой

Этот ключ будет представлен в каталоге .ssh/ в вашем домашнем каталоге

С помощью этой команды вы можете скопировать ключ id.rsa.pub в удаленную систему (min@10.10.*.*)

[max@localhost .ssh]$ ssh-copy-id -i id_rsa.pub min@10.10.*.*
The authenticity of host '10.10.*.* (10.10.*.*)' can't be established.
RSA key fingerprint is 2b:bf:e1:e9:c6:76:b0:2d:a1:45:0f:2a:53:05:10:15.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.10.*.*' (RSA) to the list of known hosts.
student@10.10.*.*'s password: 
Now try logging into the machine, with "ssh 'min@10.10.*.*'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

Теперь введите команду rsync для копирования файлов (для автоматического копирования напишите crontab и напишите эту команду)

Это синтаксис rsync

rsync [ВАРИАНТ ...] SRC ... [DEST]

[max@localhost .ssh]$ rsync -avz min@10.10.*.*:/home/min/test /home/max/Desktop
receiving incremental file list
test

sent 30 bytes  received 89 bytes  79.33 bytes/sec
total size is 0  speedup is 0.00
0

Я мог бы использовать rsync, но нет кратких примеров.

$ rsync -avz /directoryname/ username@otherservername:/other/directoryname/

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