Я обычно копирую свои книги к другому компьютеру в том же Wi-Fi,
rsync -avlu --exclude=".git" ~/Documents/Books beta@192.168.31.90:~/Documents/Books
rsync -avlu --exclude={.git,.DS_Store}" ~/Documents/Books beta@192.168.31.90:~/Documents/Books
Каждый раз я должен помнить IP-адрес целевой машины.
Попробованный @local и @localhost, но отказавший.
Как я мог использовать имя, а не серию чисел?
С этой целью необходимо установить ~/.ssh/config
файл:
touch ~/.ssh/config
chmod 600 ~/.ssh/config
Содержание файла должно посмотреть как:
Host my-destination-host
HostName 192.168.31.90
IdentityFile ~/.ssh/id_rsa
User beta
Port 22
Host another-example
HostName 222.222.22.222
User another-user
IdentityFile ~/.ssh/another-path/id_rsa
Port 2233
RemoteForward 6900 127.0.0.1:5900
RemoteForward 3389 192.168.100.115:3389
Compression yes
CompressionLevel 6
# etc.
После того как файл сохранен, Вы сможете к ssh к beta@192.168.31.90
командой:
ssh my-destination-host
или для другого примера - отмечают, что заполнение клавишей Tab применимо для Имен хостов:
ssh another-exampTab ↹
Соответственно большинство команд, которые используют ssh, может использовать конфигурационный файл. Например, rsync
:
rsync -avlu --exclude=".git" ~/Documents/Books my-destination-host:~/Documents/Books
Ссылки и больше примеров, где ~/.ssh/config
файл используется:
Почему не только используют 'точечное локальное' имя хоста?
rsync -avlu --exclude=".git" ~/Documents/Books beta@my-machine.local:~/Documents/Books
На машине получения перейдите к Установкам системы-> Совместное использование. Рядом с 'именем компьютера' нажимают 'редактирование'. Затем скопируйте адрес. Мой, например, является 'терминальным-36.local'.
Также рассмотрите определение --rsh=/usr/bin/ssh -o AddressFamily=inet
. Разрешение .local имена хостов к IPv6 всегда вызывало меня беспокойство (но возможно Вы будете более удачливыми).