linux配置sftp
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux配置sftp相关的知识,希望对你有一定的参考价值。
参考技术A| 查看openssh的版本,使用ssh -V 命令 来查看openssh的版本,版本必须大于4.8p1,低于的这个版本需要升级。 |
1、创建sftp用户组
2、创建ftp用户
3、创建yanqi家目录并指定
注释:给家目录更改属主并授权家目录属主必须是root,权限可以是755或者750
4、创建可写目录
5、编辑配置文件/etc/ssh/sshd_config
6、验证
注释:文件只能删除至/opt/data/file目录下,可以上传和删除。
Linux下sftp配置之密钥方式登录
vsftp采用明文传输,用户名密码可通过抓包得到,为了安全性,需使用sftp,锁定目录且不允许sftp用户登到服务器。由于sftp使用的是ssh协议,需保证用户只能使用sftp,不能ssh到机器进行操作,且使用密钥登陆、不是22端口。
1. 创建sftp服务用户组,创建sftp服务根目录
groupadd sftp
#此目录及上级目录的所有者必须为root,权限不高于755,此目录的组最好设定为sftp
mkdir /data/sftp
chown -R root:sftp /data/sftp
chmod -R 0755 /data/sftp
2. 修改sshd配置文件
cp /etc/ssh/sshd_config,_bk} #备份配置文件
sed -i ‘[email protected]#Port [email protected] [email protected]‘ /etc/ssh/sshd_config #保证原来22端口可以
vi /etc/ssh/sshd_config
注释掉/etc/ssh/sshd_config文件中的此行代码:
Subsystem sftp /usr/libexec/openssh/sftp-server
添加如下代码:
Port 2222
Subsystem sftp internal-sftp -l INFO -f AUTH
Match Group sftp
ChrootDirectory /data/sftp/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp -l INFO -f AUTH
凡是在用户组sftp里的用户,都可以使用sftp服务;使用sftp服务连接上之后,可访问目录为/data/sftp/username
举个例子:
test是一个sftp组的用户,它通过sftp连接服务器上之后,只能看到/data/sftp/test目录下的内容
test2也是一个sftp组的用户,它通过sftp连接服务器之后,只能看到/data/sftp/test2目录下的内容
3. 创建sftp用户
#此例将创建一个名称为test的sftp帐号
#创建test sftp家目录:test目录的所有者必须是root,组最好设定为sftp,权限不高于755
mkdir /data/sftp/test
chmod 0755 /data/sftp/test
chown root:sftp /data/sftp/test
useradd -g sftp -s /sbin/nologin test #添加用户,参数-s /sbin/nologin禁止用户通过命令行登录
创建test用户密钥对:
# mkdir /home/test/.ssh
# ssh-keygen -t rsa
# cp /root/.ssh/id_rsa.pub /home/test/.ssh/authorized_keys
# chown -R test.sftp /home/test
在test目录下创建一个可以写的upload目录
mkdir /data/sftp/test/upload
chown -R test:sftp /data/sftp/test/upload
注:sftp服务的根目录的所有者必须是root,权限不能超过755(上级目录也必须遵循此规则),sftp的用户目录所有者也必须是root,且最高权限不能超过755。
4. 测试sftp
service sshd restart
test用户密钥登陆如下图:
以上是关于linux配置sftp的主要内容,如果未能解决你的问题,请参考以下文章
Linux 内核编译 Linux 内核 ④ ( 打开 Linux 内核编译 菜单配置 |菜单配置中的光标移动与选中状态 | 保存配置 | 配置项帮助文档 )