scp 命令
scp 命令是用于通过 SSH 协议安全地将文件复制到远程系统和从远程系统复制文件到本地的命令。使用 SSH 意味着它享有与 SSH 相同级别的数据加密,因此被认为是跨两个远程主机传输文件的安全方式。
以下是scp命令常用的几个选项:
-C:这会在复制过程中压缩文件或目录。 -P(大写):如果默认 SSH 端口不是 22,则使用此选项指定 SSH 端口。 -r :此选项递归复制目录及其内容。 -p(小写):保留文件的访问和修改时间。
将文件从本地复制到远程Linux服务器
命令格式: scp [选项] 本地文件路径 [用户名@]远程服务器ip:目标路径
将文件从远程系统复制到本地
scp [选项] [用户名@]远程服务器ip:文件路径 本地路径
文件已成功复制到本地
ftp命令
FTP介绍
FTP(文件传输协议)是用于与远程网络之间传输文件的标准网络协议。 基于C/S结构。 数据传输格式:二进制(默认)和文本。 双通道协议:命令和数据连接。 两种模式(从服务器角度):
主动(PORT style):服务器主动连接
命令(控制)端口: 客户端:随机port —> 服务器:21/tcp 数据端口: 客户端:随机port <— 服务器:20/tcp
被动(PASV style):客户端主动连接
命令(控制)端口: 客户端:随机port —> 服务器:21/tcp 数据端口: 客户端:随机port —> 服务器:随机port /tcp
- FTP服务状态码:
- 1XX:信息。例如,125:数据连接打开
- 2XX:成功类状态。例如,200:命令OK,230:登录成功
- 3XX:补充类。例如,331:用户名OK。
- 4XX:客户端错。例如,425:不能打开数据连接。
- 5XX:服务器错误。例如,530:不能登录。
FTP服务程序:
服务端安装 vsftpd 软件包,vsftpd是“very secure FTP daemon”的缩写,是一个完全免费的、开放源代码的ftp服务器软件。
客户端安装FTP程序,安装后才能使用ftp命令。
vsftpd 软件配置文件详解: 位置/etc/vsftpd/vsftpd.conf (使用rpm -qc vsftpd 可查看配置文件地址)
anonymous_enable=YES //支持匿名用户访问(CentOS8 默认不允许匿名); ? #no_anon_password=YES //匿名用户login时不询问口令。如果希望不询问口令,需要自己添加 ? #anon_upload_enable=YES //是否允许上传文件,注意:文件系统权限。默认是被注释的。 ? anon_mkdir_write_enable=YES //允许匿名用户新建目录 ? local_enable=YES //启用本地系统用户访问;
write_enable=YES //本地系统用户写入权限; ? local_umask=022 //本地用户创建文件及目录默认权限掩码; ? dirmessage_enable=YES //打印目录显示信息,通常用于用户第一次访问目录时,信息提示; ? xferlog_enable=YES //启用上传和下载日志记录; ? connect_from_port_20=YES //FTP使用20端口进行数据传输; ? xferlog_std_format=YES //日志文件将根据xferlog的标准格式写入; ? listen=NO //Vsftpd不以独立的服务启动,通过Xinetd服务管理,建议改成YES; ? listen_ipv6=YES //启用IPV6监听; ? pam_service_name=vsftpd //登录FTP服务器,依据/etc/pam.d/vsftpd中内容进行认证; ? userlist_enable=YES //vsftpd.user_list和ftpusers配置文件里用户禁止访问FTP; ? tcp_wrappers=YES //设置vsftpd与tcp wrapper结合进行主机的访问控制,Vsftpd服务器检查/etc/hosts.allow 和/etc/hosts.deny中的设置,来决定请求连接的主机,是否允许访问该FTP服务器。
ftp总结
- 一定要关闭防火墙和selinux。
- 使用get从服务端下载文件时,用户ftp对该文件必须拥有r权限(即读取权限),否则无法下载。例如/etc/passswd 文件,普通用户没有读取权限,无法下载该文件。
- get和put 不支持对目录文件进行下载和上传,必须先使用tar命令将目录进行归档压缩,之后才能下载或上传。
- 用户ftp对/var/ftp目录,不能拥有w权限,否则ftp用户不能登录访问。
- ftp用户在/var/ftp/pub目录下上传文件时,必须对pub目录拥有wx权限(即写入和执行权限),否则上传文件会提示失败,不支持创建文件,因为没有写入权限。
- put 上传文件时,不支持绝对路径,想要上传的文件必须在客户端的当前目录内。 例如当前是在/root目录下使用ftp连接服务端,想要上传/tmp/file01文件,必须先将file01复制到/root目录下,之后使用“put file01”或“put ./file01”命令删上传,不支持“put /tmp/file01"这种格式 。
|