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

你可能感兴趣的:(Linux,项目管理)