您的位置:首页 > 运维架构 > Linux

CentOS 6.0的sftp配置

2011-11-18 12:09 246 查看
openssh的信息为:

openssh-clients-5.3p1-20.el6_0.3.x86_64

openssh-server-5.3p1-20.el6_0.3.x86_64

openssh-5.3p1-20.el6_0.3.x86_64

1. 添加用户

useradd -u 502 -d /data/sftp -s /sbin/nologin -M sftp

-d /data/sftp:指定用户的主目录为/data/sftp

-s /sbin/nologin:指定用户不能登录

-M:不创建主目录

-u 502:指定uid为502

2. 配置sshd_config

vi /etc/ssh/sshd_config
# 将以下行注释,更换成internal-sftp
# Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
# 添加以下行
Match User sftp
ChrootDirectory /data/sftp
AllowTcpForwarding no
ForceCommand internal-sftp

3. 配置目录权限

chown -R root:root /data/sftp
chmod 0755 /data/sftp

目录权限需要注意:

a. 由ChrootDirectory指定的目录开始一直往上到系统根目录为止的目录拥有者都只能是root

b. 由ChrootDirectory指定的目录开始一直往上到系统根目录为止都不可以具有群组写入权限

mkdir /data/sftp/upload
chown -R sftp:sftp /data/sftp/upload

这个目录为sftp用户拥有权限的子目录

4. 配置密钥登录

mkdir .ssh
# 产生密钥
ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /data/sftp/.ssh/sftp # 密钥保存的位置,因为sftp用户的主目录为/data/sftp,所以选择在此位置
Enter passphrase (empty for no passphrase): # 输入短语密码
Enter same passphrase again: # 再次输入短语密码
Your identification has been saved in /data/sftp/.ssh/sftp.
Your public key has been saved in /data/sftp/.ssh/sftp.pub.
cd /data/sftp/.ssh
# 创建允许登录的公钥
mv sftp.pub authorized_keys2
# 修改权限
chown -R sftp:sftp /data/sftp/.ssh
chmod 0600 authorized_keys2 sftp

下载私钥到,在登录工具中使用这个密钥登录即可

4. 重启sshd

# 先用以下命令测试配置文件
sshd -T
service sshd restart


本文出自 “linuxjcq” 博客,请务必保留此出处http://linuxjcq.blog.51cto.com/3042600/717927
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: