我经常将书籍备份到同一 Wi-Fi 内的另一台电脑上,
rsync -avlu --exclude=".git" ~/Documents/Books [email protected]:~/Documents/Books
rsync -avlu --exclude={.git,.DS_Store}" ~/Documents/Books [email protected]:~/Documents/Books
每次我都应该记住目标机器的 IP 地址。
尝试了@local 和@localhost 但失败了。
我怎样才能使用名称而不是一系列数字?
答案1
为此,您需要设置文件:~/.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.
一旦文件保存完毕,你就可以[email protected]
通过以下命令进行 ssh 连接:
ssh my-destination-host
或者对于另一个示例 - 请注意 Tab 补全适用于主机名:
ssh 另一个示例Tab ↹
分别来说,大多数使用 ssh 的命令都可以使用配置文件。例如rsync
:
rsync -avlu --exclude=".git" ~/Documents/Books my-destination-host:~/Documents/Books
~/.ssh/config
该文件的使用参考和更多示例:
答案2
为什么不直接使用“点本地”主机名?
rsync -avlu --exclude=".git" ~/Documents/Books [email protected]:~/Documents/Books
在接收机器上,转到“系统偏好设置”->“共享”。在“计算机名称”旁边单击“编辑”。然后复制地址。例如,我的地址是“terminal-36.local”。
还请考虑指定--rsh=/usr/bin/ssh -o AddressFamily=inet
。将 .local 主机名解析为 IPv6 总是让我很烦恼(但也许你会更幸运)。