linux 用openssh搭建sftp(包含注意点),opensshsftp
搭建sftp,需要三个部分: zlib(包含zlib,zlib-devel),openssl,openssh,所需要的rpm包在csdn里都有
1.一般的linux系统,包括rehat,centos等基本都有安装openssl
检测: which openssl
由于依赖性的问题,强制安装openssl-devel
rpm -ivh --nodeps --force openssl-devel-0.9.8e-22.el5_8.4.x86_64.rpm
2. 安装zlib的相关包,这步操作实际也可以在安装openssh检测时使用,会提示相关错误要你安装zlib
rpm -ivh --nodeps --force zlib-1.2.3-27.el6.x86_64.rpm
rpm -ivh --nodeps --force zlib-devel-1.2.3-27.el6.x86_64.rpm
3.安装openssh,解压缩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
4.配置
(1) 修改sshd启动脚本 (仅限于只用sftp登录,否则ssh会报错)
# vi /etc/init.d/sshd
SSHD=/usr/sbin/sshd
改为
SSHD=/usr/local/sbin/sshd
修改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/
(2) 如果要保留ssh,同时允许sftp,则在/etc/ssh/sshd_config编辑
vi sshd_config
# override default of no subsystems
# Subsystem sftp /usr/local/libexec/sftp-server
Subsystem sftp internal-sftp
Match group sftp #组名,单个用户可以Match user 用户名
#Mathch user nb_bjuser
ForceCommand internal-sftp
X11Forwarding no
ChrootDirectory /data/htdocs/ #指定实际目录
AllowTcpForwarding no
ForceCommand internal-sftp
(3) 修改目录权限
chown root.sftp /usr/bj
groupadd sftp
useradd -d /usr/bj -s /bin/false -g sftp nb_bjuser
passwd nb_bjuser
(4) 重启sshd服务
service sshd restart
linux 下搭建sftp
配置文件在/etc/vsftpd/vsftpd.conf 里面有模版根据需要改anon_upload_enable=YES这个就是上传的,下载你只要给了他权限就行了,要是不能成功就就看下是不是selinux的问题,设置下就ok了
Linux(RH)怎禁止某些用户使用SFTP
可以用sshd的配置项:DenyUsers,AllowUsers, DenyGroups,AllowGroups
举个例子:
把你希望禁止使用使用sftp服务的用户都加入某个组比如xyz
然后在/etc/ssh/sshd_config设置
DenyGroups xyz
这样所有属于xyz的用户就没有登录ssh的权限了,自然也没有使用sftp的权限了。
注意仅仅在sshd_config禁止掉sftp-server是不够的,因为只要用户还能通过
ssh登录就可以用其他user space 的工具如scp上传下载文件,效果其实跟sftp是一样的。
http://www.dengb.com/xtzh/877695.htmlwww.dengb.comtruehttp://www.dengb.com/xtzh/877695.htmlTechArticlelinux 用openssh搭建sftp(包含注意点),opensshsftp 搭建sftp,需要三个部分: zlib(包含zlib,zlib-devel),openssl,openssh,所需要的rpm包在csdn里都有...