标签归档:linux远程传输文件

linux Centos7 ssh、sftp、scp命令远程传输文件

以下实验数据都是手工亲测,非拷贝而来,所以真实可靠,也是我在工作当中经常用到的一些命令,分享出来,大家一块学习。
系统操作环境Centos7.3 64 *2,两台机器都在公网IP地址分别是

A:223.5.5.5
B:223.6.6.6

一、sftp是一个交互式文件传输程式。它类似于ftp传输协议,属于ssh, 但它进行加密传输,相对FTP来讲有更高的安全性。

sftp用法

如果有服务器的端口不是默认的22,请在sftp后面加-P 端口号 即可。

# sftp root@223.6.6.6
The authenticity of host ‘223.6.6.6 (223.6.6.6)’ can’t be established.
ECDSA key fingerprint is SHA256:Hl/dKTFzL4lOlF8DIG5itaV4OAsZunC2AWlFGLjLfsg.
Are you sure you want to continue connecting (yes/no)? yes【输入yes回车】
Warning: Permanently added ‘223.6.6.6’ (ECDSA) to the list of known hosts.
root@223.6.6.6’s password:【输入223.6.6.6的root密码并回车】
Connected to 223.6.6.6.
sftp>

将223.6.6.6服务器文件下载到223.5.5.5的home目录;

sftp> get /var/www/renwole.txt /home/

将223.5.5.5服务器文件上传到223.6.6.6服务器的mnt目录;

sftp> put /home/renwole.txt /mnt/

你如果不知道远程主机的目录是什么样, ls命令可以列出223.6.6.6服务器的当前目录列表。例如:

sftp> ls //和查看本地操作命令一样
sftp> pwd //查询223.6.6.6的当前工作目录

改变路径可以用cd ,改变本机路径可以用 cd.. 例如;

sftp> cd

如果用于修改服务器文件,可以使用ssh连接,例如:

# ssh root@223.6.6.6
root@223.6.6.6’s password:【输入B服务器密码回车进入内部】

如果想退出,例如:

# exit //退出机器,返回你原始机器界面。

二、scp具有和ssh一样的验证机制,从而可以实现2台机器安全的远程拷贝文件。

scp可以概括为:

scp -P 端口 文件路径 用户名@主机地址:远程目录

如果想拷贝本地文件到另外一台ssh终端,可以使用以下命令;

# scp /renwole/mariadb.tar.gz root@223.6.6.6:/renwole123/
root@223.6.6.6’s password:【输入密码回车】
mariadb.tar.gz  8%  37MB  1.3MB/s  05:29  ETA

如果你反过来操作,把远程主机的文件拷贝到当前系统,操作命令以下;

# scp root@223.6.6.6:/renwole123/mariadb.tar.gz /renwole

如果你想拷贝文件夹以及文件夹内的所有文件,就加参数 -r 如果你的端口号不是22,那么需要在scp后加个 -P (区分大小写)端口号。建议加-C选项,因为这样可以启用SSH的压缩功能;传输速度更快,例如

# scp -P 6632 -C /renwole/mariadb root@223.6.6.6:/renwole123/

其实我个人建议使用scp,速度快,稳定,安全。