![使用 tar 上传文件](https://linux22.com/image/739738/%E4%BD%BF%E7%94%A8%20tar%20%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB%B6.png)
你能帮助我吗?
我有一段代码,正在我的 Ubuntu 16.04 服务器上使用
tar -c /var/www/dxa/backup.zip | ssh <my-server-ip> -p 8000 'tar -xvf - -C /'
但是每次我运行这个命令时,终端都会询问我用户名和密码。我想动态地创建我的备份系统,如何在此规则中插入用户名和密码以避免终端询问?
谢谢。
答案1
您可以在运行此代码的机器和您要连接的机器之间交换 SSH 密钥。
从运行代码的机器运行(如果您之前没有创建 ssh 密钥):
ssh-keygen -t rsa
创建一个新的 ssh 密钥。
然后运行:
ssh-copy-id user@remote_machine_ip
并提供一次用户的密码。
这会将您打算运行脚本的 ssh 用户的公钥添加到远程机器用户的 authorized_keys 中。
这样,下次连接时,您将不必提供密码。
请随意检查本文,解释了这一过程。