unix – 如何使用身份文件与rsync?

前端之家收集整理的这篇文章主要介绍了unix – 如何使用身份文件与rsync?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何使用身份文件与rsync?

这是语法我认为我应该使用rsync使用身份文件连接:

rsync -avz -e 'ssh -p1234  -i ~/.ssh/1234-identity'  \
"/local/dir/" remoteUser@22.33.44.55:"/remote/dir/"

但它给我一个错误

Warning: Identity file ~/.ssh/1234-identity not accessible: No such file or directory.

文件是好的,权限设置正确,它工作时,做ssh – 只是不与rsync – 至少在我的语法。我究竟做错了什么?它是否试图在远程机器上查找身份文件?如果是,如何指定我要在本地计算机上使用身份文件

您可能想使用ssh-agent和ssh-add将密钥加载到内存中。 ssh将自动尝试ssh-agent的身份,如果它能找到它们。命令就是
eval $(ssh-agent) # Create agent and environment variables
ssh-add ~/.ssh/1234-identity

ssh-agent是一个用户守护进程,它在内存中保存未加密的ssh密钥。 ssh基于运行时ssh-agent输出的环境变量来查找它。使用eval来评估此输出会创建环境变量。 ssh-add是管理密钥存储器的命令。可以使用ssh-add锁定代理。可以在启动ssh-agent时指定密钥的默认生存期,也可以在添加密钥时指定。

您可能还需要设置〜/ .ssh / config文件以提供端口和键定义。 (有关更多选项,请参见`man ssh_config。)

host 22.33.44.55
    IdentityFile ~/.ssh/1234-identity
    Port 1234

单引号ssh命令将阻止〜或$ HOME所需的shell扩展。您可以使用单引号中的键的完整或相对路径。

猜你在找的Bash相关文章