linux ssh、sftp、scp命令远程传输文件
以下实验数据都是手工亲测,非拷贝而来,所以真实可靠,也是我在工作当中经常用到的一些命令,分享出来,大家一块学习。系统操作环境Centos7.3 64 *2,两台机器都在公网IP地址分别是
A:223.5.5.5 B:223.6.6.6
它类似于ftp传输协议,属于ssh, 但它进行加密传输,相对FTP来讲有更高的安全性。
sftp用法
如果有服务器的端口不是默认的22,请在sftp后面加-P 端口号 即可。
# sftp [email protected] 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. [email protected]’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 [email protected] [email protected]’s password:【输入B服务器密码回车进入内部】
如果想退出,例如:
# exit //退出机器,返回你原始机器界面。
scp可以概括为:scp -P 端口 文件路径 用户名@主机地址:远程目录
如果想拷贝本地文件到另外一台ssh终端,可以使用以下命令;
# scp /renwole/mariadb.tar.gz [email protected]:/renwole123/ [email protected]’s password:【输入密码回车】 mariadb.tar.gz 8% 37MB 1.3MB/s 05:29 ETA
如果你反过来操作,把远程主机的文件拷贝到当前系统,操作命令以下;
# scp [email protected]:/renwole123/mariadb.tar.gz /renwole
如果你想拷贝文件夹以及文件夹内的所有文件,就加参数 -r 如果你的端口号不是22,那么需要在scp后加个 -P (区分大小写)端口号。建议加-C选项,因为这样可以启用SSH的压缩功能;传输速度更快,例如
# scp -P 6632 -C /renwole/mariadb [email protected]:/renwole123/