Linux下利用OpenSSH建立SFTP服务器

Linux下采用OpenSSH实现SFTP上传操作。将所有SFTP用户组的用户都锁定在指定目录下,禁止SSH登录,可以提高安全性。

下载方法见http://www.linuxidc.net/thread-1186-1-1.html

1. OpenSSL安装,版本要高于0.9.6,CentOS 5.4默认可以不用安装。

下载openssl-1.0.0.tar.gz

# tar zxvf  openssl-1.0.0.tar.gz
# cd openssl-1.0.0
# ./config
# make
# make install

2. OpenSSH安装,版本要高于4.8sp1
# rpm -q openssh
openssh-4.3p2-36.el5
说明: centos5.4上需要安装openssh软件包,openssl版本高于0.9.6不需要安装

下载openssh-5.4p1.tar.gz

# tar zxvf openssh-5.4p1.tar.gz
# cd openssh-5.4p1
# ./configure  --with-ssl-dir=/usr/local/ssl   #openssl的安装位置
# make
# make install

3. 配置
(1) 修改sshd启动脚本
# vi /etc/init.d/sshd
SSHD=/usr/sbin/sshd
改为
SSHD=/usr/local/sbin/sshd

(2) 修改sshd配置文件,tar包安装的配置文件位置在/usr/local/etc/sshd_config
# cd /usr/local/etc
# cp sshd_config  sshd_config.bak
# cp /etc/ssh/sshd_config  /usr/local/etc/

# vi sshd_config
# override default of no subsystems
# Subsystem    sftp      /usr/local/libexec/sftp-server

Subsystem      sftp internal-sftp
Match group sftp                  #组名,单个用户可以Match user 用户名
X11Forwarding no
ChrootDirectory /data/htdocs/     #指定实际目录
AllowTcpForwarding no       
ForceCommand internal-sftp

相关推荐