Ubuntu搭建SFTP服務器

Ubuntu默認只安裝openssh-client,需要手動安裝openssh-server或者sftp-server。

安裝SFTP服務

# sudo apt-get install sftp-server
sudo apt-get install openssh-server

允許root登錄

SSH默認不允許root用戶登錄,輸入如下命令修改ssh配置文件,以允許root用戶登錄。

sudo vim /etc/ssh/sshd_config

尋找配置文件的以下內容:

#PermitRootLogin prohibit-password

修改爲如下配置:

PermitRootLogin yes

用戶配置

默認允許所有用戶或者用戶組登錄,若僅允許指定用戶或者用戶組訪問,按照以下格式配置。

AllowUsers 多個用戶(以空格間隔)
AllowGroups 多個用戶組(以空格間隔)

單獨配置指定用戶或者用戶組,並且覆蓋全局配置。

Match User 用戶
Match Group 用戶組
# 禁止TCP轉發
AllowTcpForwarding no
# 禁止X11轉發
X11Forwarding no

如果想了解配置項含義,使用如下命令查看說明文檔。

man sshd_config

重啓SSH

輸入以下命令,重啓SSH,使配置生效。

/etc/init.d/ssh restart

連接命令

Ubuntu的SFTP客戶端使用以下命令連接服務器。

sftp -p [email protected]

PuTTY的psftp.exe使用以下命令連接服務器。

psftp [email protected]

或者先執行psftp.exe,再輸入以下命令:

open 192.168.0.101

傳輸命令

# 上傳文件
put 源路徑 目的路徑
# 下載文件
get 源路徑 目的路徑

用戶必須具有所訪問目錄或者文件的寫權限,否則上傳文件出錯。
例如使用WinSCP上傳文件,卻不具有寫權限,出現以下錯誤:

Write failed: Broken pipe
Couldn’t read packet: Connection reset by peer

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章