从远程ssh主机提取文件

时间:2015-06-12 04:45:59

标签: linux bash ssh tar

我的server2有一个文件“/home/test.tar.gz”。 在server1上,我想通过ssh执行命令将test.tar.gz解压缩到本地目录。

类似的东西:

 sshpass -p 'password' ssh root@server2 "tar zxf /home/test.tar.gz" > /home/try

这甚至可能吗?

3 个答案:

答案 0 :(得分:4)

在提取多种类型的文件时,无法将它们重定向到单个文件。

如果您尝试提取到目录,那么。

cd /tmp/try
ssh server2 "cat /home/test.tar.gz" | tar xvzf -

答案 1 :(得分:0)

首先,您应该运行ssh-copy-id或手动复制您的ssh公钥,并将您的server1密钥共享到server2并设置访问权限而无需密码。

按照以下网站:

http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/

然后使用下面的命令使用ssh解压缩文件

ssh -i /home/user/.ssh/user.pem user@server2 'tar -xzvf /home/user/test.tar.gz'

答案 2 :(得分:0)

你应该: - 使用ssh-copy-id在第一台和第二台服务器之间交换密钥,以避免传递密码。

比你能做的: - 使用SCP从服务器2复制tar并用tar提取 要么 - 在目录中的第二台机器上提取tar,然后使用scp -R

复制该目录