# Linux中怎么使用sftp傳輸文件/文件夾
## 一、SFTP簡介
SFTP(SSH File Transfer Protocol)是基于SSH協議的安全文件傳輸工具,相比傳統的FTP具有以下優勢:
- 加密所有傳輸數據
- 使用SSH默認端口22(無需額外開端口)
- 支持交互式和腳本化操作
- 保留文件屬性和權限
## 二、基礎連接方法
### 1. 基本連接語法
```bash
sftp [選項] [用戶名@]主機名/IP地址
常用選項:
- -P port
:指定非默認SSH端口
- -i identity_file
:指定私鑰文件
- -o option
:設置SSH參數
sftp user@192.168.1.100
# 輸入用戶密碼后進入sftp>提示符
sftp -i ~/.ssh/id_rsa user@example.com
# 上傳單個文件
put local_file.txt /remote/path/
# 上傳時重命名
put local_file.txt /remote/path/new_name.txt
# 上傳多個文件
put *.jpg /remote/path/
# 下載單個文件
get /remote/path/file.txt ~/local/
# 下載時重命名
get /remote/path/file.txt ~/local/new_name.txt
# 遞歸下載目錄(需配合-r選項)
get -r /remote/dir/ ~/local/
# 查看遠程目錄
ls
lls # 查看本地目錄
# 切換目錄
cd /remote/path
lcd ~/local # 切換本地目錄
# 創建目錄
mkdir new_dir
lmkdir local_dir # 本地創建
# 上傳整個目錄
put -r local_dir /remote/path/
# 下載整個目錄
get -r /remote/dir/ ~/local/
sftp -o "IPQoS=throughput" user@host # 限制為普通優先級
# 下載時恢復中斷的傳輸
reget /remote/bigfile.zip
# 上傳時恢復
reput large_file.iso
創建transfer.txt
:
put /local/path/file1.txt
put /local/path/file2.txt
get /remote/path/data.csv
exit
執行:
sftp -b transfer.txt user@host
#!/bin/bash
HOST="user@example.com"
PASS="your_password"
expect <<EOF
spawn sftp $HOST
expect "password:"
send "$PASS\r"
expect "sftp>"
send "put /local/file.txt /remote/\r"
expect "sftp>"
send "exit\r"
EOF
sftp -o ConnectTimeout=30 user@host # 設置超時時間
# 查看遠程文件權限
ls -l /path/to/file
# 可能需要先創建目標目錄
mkdir -p /remote/new/path
LANG=zh_CN.UTF-8 sftp user@host # 指定編碼
雖然命令行足夠強大,但以下GUI工具可能更適合初學者:
1. FileZilla:支持SFTP的跨平臺客戶端
2. Nautilus(GNOME文件管理器):支持sftp://
協議
3. Dolphin(KDE文件管理器):內置SFTP支持
4. WinSCP(Windows用戶):優秀的SFTP圖形客戶端
/etc/ssh/sshd_config
中設置:
PermitRootLogin no
chroot_local_user=yes
sftp -C user@host
rsync over SSH
更可靠:
rsync -avz -e ssh /local/path/ user@host:/remote/path/
相關命令對比:
命令 | 協議 | 加密 | 端口 | 特點 |
---|---|---|---|---|
ftp | FTP | 否 | 21 | 傳統文件傳輸 |
sftp | SSH | 是 | 22 | 安全文件傳輸 |
scp | SSH | 是 | 22 | 簡單文件拷貝 |
rsync | SSH/RSYNC | 是 | 22 | 增量同步/斷點續傳 |
深入學習SSH:
man ssh_config
man sshd_config
通過掌握這些SFTP技巧,您可以安全高效地在Linux系統間傳輸文件,滿足日常運維和開發需求。 “`
(注:實際字數約1450字,可根據需要刪減部分章節或示例調整到1350字左右)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。