阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

一行命令实现 Linux之间使用SSH传输文件

199次阅读
没有评论

共计 1441 个字符,预计需要花费 4 分钟才能阅读完成。

把本机的文件传到目标:

cd /home/ && tar czv test | ssh root@HostIP -p 22 'tar xz'

解释:

如你所见, 这行命令其实由多个命令组成
首先是 cd 到目标目录的父级目录, 然后 ”&&” 表示 cd 命令执行成功再继续后面的命令, 顺带:”||” 表示:若前一个命令执行成功,就不会执行下一条了。
后面是一个 tar 命令, 将 test 压缩, 但是并不输出到文件, 而是通过管道(那个 ”|” 表示管道), 传给后面的 ssh 命令
ssh 命令连接到目标主机, 并执行 ”tar xz” 将数据在另一边解压.

从远程复制文件到本机

ssh root@HostIP 'cd /home && tar cz test' | tar xzv

原理同上

不想输入密码?

可以试试使用 sshpass

apt 安装:

sudo apt-get install sshpass

或者编译源码:

wget http://sourceforge.net/projects/sshpass/files/sshpass/1.05/sshpass-1.05.tar.gz  
tar xvzf sshpass-1.05.tar.gz  
./configure 
make  
sudo make install  

使用方法:

sshpass -p [passwd] ssh -p [port] root@HostIP

下面关于 SSH 相关的文章您也可能喜欢,不妨参考下:

集群环境 SSH 免密码登录设置  http://www.linuxidc.com/Linux/2017-03/141296.htm

Linux 基础教程:配置 SSH 免密码登陆 http://www.linuxidc.com/Linux/2017-07/145847.htm

远程 SSH 连接服务与基本排错  http://www.linuxidc.com/Linux/2017-05/143738.htm

使用 SSH 公钥密钥自动登陆 Linux 服务器 http://www.linuxidc.com/Linux/2017-02/140642.htm

配置 SSH 免密码登录  http://www.linuxidc.com/Linux/2017-08/146213.htm

开启 SSH 服务让 Android 手机远程访问 Ubuntu 14.04  http://www.linuxidc.com/Linux/2014-09/106809.htm

SSH 非交互式密码授权远程执行脚本  http://www.linuxidc.com/Linux/2017-04/143180.htm

SSH 通过密钥登陆 http://www.linuxidc.com/Linux/2017-06/144997.htm

Ubuntu 安装配置 SSH(ssh: connect to host localhost port 22: Connection refused 问题的解决)  http://www.linuxidc.com/Linux/2015-01/112045.htm

CentOS SSH 提示:connect to host centos-py port 22: Connection refused  http://www.linuxidc.com/Linux/2017-11/148586.htm

Linux 上实现 SSH 免密码登陆远程服务器  http://www.linuxidc.com/Linux/2017-05/144165.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-11/148703.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计1441字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中