linuxsftp脚本
在Linux/Unix/macOS系统中,SFTP(Secure File Transfer Protocol)是安全文件传输的重要工具,它基于SSH协议,提供更安全的文件传输方式,推荐替代不安全的FTP。本文将深入解析SFTP的使用,包括连接方法、命令参数、目录管理以及最佳实践。
连接与基本操作
由于SFTP基于SSH,通常使用SSH密钥进行身份验证。连接命令示例如下(可指定自定义端口):
ssh -P [port] [username]@[server_address]
连接后,会看到sftp>的提示,使用exit退出。若路径指向文件,会直接下载,指向目录则会递归下载。
参数详解与目录管理
SFTP解释器内置了帮助文档,查看目录、文件内容、切换目录和创建文件夹的命令如下:
- 查看工作目录:cd
- 查看目录内容:ls
- 查看详细信息:ls -la
- 切换目录:cd [directory]
- 创建文件夹:mkdir [folder_name]
在本地目录操作前,命令前加'l',如ls -l 。
文件传输
从服务器下载文件使用get,本地上传文件使用put。例如:
- get [remote_path] [newName]
- put [local_path] [remote_path]
- 上传目录时确保目标目录存在,否则需先创建。
最佳实践
在日常操作中,建议按照以下步骤进行:
- 安全连接到远程服务器
- 使用端口指定
- 从服务器下载文件
- 上传本地文件
- 检查服务器和本地目录内容
- 在SFTP中执行本地Shell命令
‘贰’ Linux下安装SFTP
搭建本地SFTP服务器,以在Linux环境下创建测试环境。
环境选择:CentOS 7。
搭建步骤如下:
一、关闭防火墙与selinux。
1. 执行命令:systemctl stop firewalld && systemctl disable firewalld
2. 修改配置文件:sudo vi /etc/sysconfig/selinux
将文件中的SELINUX=enforcing 更改为 SELINUX=disabled
3. 执行命令:setenforce 0
二、创建并设置用户密码。
4. 创建用户:sudo useradd -m -s /bin/bash sftp_user
5. 设置密码:sudo passwd sftp_user
三、修改sshd_config文件。
6. 执行命令:sudo vi /etc/ssh/sshd_config
添加:PermitRootLogin no
四、重启sshd服务。
7. 执行命令:sudo systemctl restart sshd
五、修改sftp-users用户组权限。
8. 设置权限:sudo chown root:root /data/sftp
9. 修改权限:sudo chmod 755 /data/sftp
六、创建并赋予文件夹权限。
10. 创建文件夹:sudo mkdir -p /data/sftp_user
11. 赋予权限:sudo chmod 755 /data/sftp_user
12. 将sftp_user加入到sftp-users组:sudo usermod -a -G sftp-users sftp_user
七、验证SFTP服务。
13. 使用filezilla或本地服务器登录测试,确保可以正常上传与下载。
搭建完成后,即可使用本地SFTP服务器进行测试操作。后续遇到问题,将陆续进行补充。
‘叁’ linux的sftp命令
对于Linux用户来说,理解并掌握sftp命令的使用至关重要。本文将详细介绍Linux环境下sftp命令的基本操作和功能。
首先,sftp命令的常用登陆方式是通过格式进行连接,其中user代表登录用户名,host是目标服务器地址,默认端口为22。通过这种方式,用户可以便捷地与远程主机进行文件传输。
在sftp中,你可以通过help命令查看支持的命令,这些命令包括本地执行(以'l'开头)和远程主机执行。基础操作主要是文件的上传和下载,例如:
- 下载文件:get [-Ppr] remote [local],如get test.cpp /Projec,将远程文件下载到本地。
- 上传文件:put [-Ppr] local [remote],如put /home/liu/Software/RHEL_5.5 x86_64.iso /home/xudong/Blog/,将本地文件上传到远程主机。
除了基本的get和put,sftp还支持其他如ls、cd、pwd等命令,它们提供了丰富的交互功能。sftp基于安全的ssh协议,相比传统的ftp,它更安全,适合数据传输。
使用sftp前,确保服务器的ssh服务已开启,可以通过/etc/init.d/sshd start命令启动。连接时,可以使用sftp -oPort=port_number username@server_ip [file1 file2 ...],指定端口以避免默认端口被占用。
总的来说,Linux的sftp命令提供了一种安全、便捷的文件传输方式,对于需要频繁在本地和远程服务器之间交换文件的用户来说,熟练掌握sftp命令是必不可少的。
‘肆’ Linux基础命令 sftp命令的使用
SFTP(Secure File Transfer Protocol,安全文件传输协议)是一种基于可靠数据流(data stream),提供文件存取和管理的网络传输协议,与 FTP 协议相比,SFTP 在客户端与服务器间提供了一种更为安全的文件传输方式,如果你还在使用 FTP 来进行文件传输,强烈建议切换到更为安全的 SFTP 上来。
常用命令使用:
1.远端服务器当前工作目录
sftp> pwd
Remote working directory: /
2.远端服务器切换目录
sftp> cd Directory
3.远端服务器建立目录
sftp> mkdir Directory
以上的命令都是用来操作远程服务器的,如果想要操作本地目录呢?只需要在每个命令前添加 l即可
4.显示本地操作目录下的文件:
sftp> lls
Files
5.使用 ! 可以直接运行 Shell 中的指令.
6.从远程服务器拉取文件
sftp> get remoteFile [newName] 如果不指定 newName,将使用和远程服务器相同的文件名。
7.从本地上传文件到服务器
sftp> put File
‘伍’ Linux中使用shell脚本访问sftp服务器,密钥不会用
密钥用于建立SSH互信环境,本地公钥需要分发到远端服务器目录,可实现本地主机到远端SFTP服务器的无访问.
1. 生成密钥对,取得本地公钥,如:id_dsa.pub
2. 登录到远端SFTP服务器用户HOME目录的.ssh文件夹
3. 将id_dsa.pub的内容追加到远端服务器.ssh/autorized_keys文件尾部并保存
4. 尝试与本地主机用户SFTP到远程服务器: sftp user@server_addr
‘陆’ 怎么开启linux服务器的sftp服务
可以按照如下方式进行设置:
1、创建sftp组,groupaddsftp,创建完成之后使用cat /etc/group命令组的信息。
拓展资料
1、sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。sftp 与 ftp 有着几乎一样的语法和功能。SFTP 为 SSH的其中一部分,是一种传输档案至 Blogger 服务器的安全方式。
2、其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件信息传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。
‘柒’ linux下如何使用sftp命令
回车提示输入密码。进入提示符sftp如果登陆远程机器不是为了上传下载文件,而是要修改远程主机上的某些文件。可以 ssh [email protected] (其实sftp就是ssh 的一个程式。) sftp get /var/www/fuyatao/index.php /home/fuyatao/ 这条语句将从远程主机的 /var/www/fuyatao/目录下将 index.php 下载到本地 /home/fuyatao/目录下。 sftp put /home/fuyatao/downloads/Linuxgl.pdf /var/www/fuyatao/ 这条语句将把本地 /home/fuyatao/downloads/目录下的 linuxgl.pdf文件上传至远程主机/var/www/fuyatao/ 目录下。 改变路径可以用cd ,改变本机路径可以用 lcd; ls rm rmdir mkdir 这些命令都可以使用。同理调用本机都是加 l , 即 lls lrm. 要离开sftp,用exit 或quit、 bye 均可。详细情况可以查阅 man sftp. 如果觉得在命令行模式下不太方便,可以 sudo apt-get install gftp。在图形界面下操作就简便多了。