linux

Linux SFTP如何进行文件传输

小樊
46
2025-09-23 14:34:06
栏目: 智能运维

在Linux系统中,使用SFTP(Secure File Transfer Protocol)进行文件传输是一种安全的方式。以下是使用SFTP进行文件传输的基本步骤:

1. 连接到远程服务器

首先,你需要通过SSH连接到远程服务器。打开终端并输入以下命令:

sftp username@hostname

其中:

系统会提示你输入密码。输入密码后,你将进入SFTP会话。

2. 基本命令

在SFTP会话中,你可以使用以下基本命令进行文件传输和管理:

列出目录内容

ls

或者列出详细信息:

ls -l

切换目录

cd directory_name

上传文件

put local_file remote_file

例如,将本地文件 example.txt 上传到远程服务器的当前目录:

put example.txt

下载文件

get remote_file local_file

例如,将远程服务器上的 example.txt 下载到本地当前目录:

get example.txt

删除文件

rm remote_file

例如,删除远程服务器上的 example.txt

rm example.txt

创建目录

mkdir directory_name

删除目录

rmdir directory_name

退出SFTP会话

exit

或者使用快捷键 Ctrl + D

3. 使用SFTP脚本

如果你需要自动化文件传输任务,可以编写一个SFTP脚本。以下是一个简单的示例:

#!/bin/bash

# 连接到远程服务器并执行命令
sftp -oPort=22 username@hostname <<EOF
cd /remote/directory
put local_file.txt
get remote_file.txt
bye
EOF

将上述脚本保存为 sftp_transfer.sh,然后赋予执行权限:

chmod +x sftp_transfer.sh

最后运行脚本:

./sftp_transfer.sh

4. 使用SSH密钥认证

为了提高安全性,你可以使用SSH密钥进行认证,而不是每次都输入密码。以下是设置步骤:

  1. 生成SSH密钥对(如果还没有):

    ssh-keygen -t rsa -b 4096
    

    按照提示操作,通常会生成 id_rsaid_rsa.pub 文件。

  2. 将公钥复制到远程服务器:

    ssh-copy-id username@hostname
    

    系统会提示你输入密码,输入后公钥将被复制到远程服务器的 ~/.ssh/authorized_keys 文件中。

  3. 使用SSH密钥连接SFTP:

    sftp -i /path/to/private_key username@hostname
    

通过以上步骤,你可以在Linux系统中安全地进行文件传输。

0
看了该问题的人还看了