Linux 下sftp配置之密钥方式登录详解
发布时间 - 2026-01-10 22:09:20 点击率:次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 's@#Port 22@Port 22@' /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配置之密钥方式登录
# sftp配置密钥
# sftp配置
# Linux如何通过代理连接sftp
# Linux中sftp常用命令整理
# Linux下搭建SFTP服务器的命令详解
# Linux下sftp登录失败的解决方案
# 目录下
# 不能超过
# 创建一个
# 配置文件
# 的是
# 是一个
# 是在
# 帐号
# 希望能
# 可以使用
# 谢谢大家
# 可通过
# 命令行
# 者也
# 如下图
# 举个例子
# 器上
# 此例
# strong
# usr
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】
LinuxShell函数封装方法_脚本复用设计思路【教程】
Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权
JavaScript如何实现路由_前端路由原理是什么
如何在橙子建站中快速调整背景颜色?
Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录
Claude怎样写约束型提示词_Claude约束提示词写法【教程】
进行网站优化必须要坚持的四大原则
Android Socket接口实现即时通讯实例代码
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】
Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置
如何在阿里云完成域名注册与建站?
香港服务器WordPress建站指南:SEO优化与高效部署策略
iOS验证手机号的正则表达式
如何基于PHP生成高效IDC网络公司建站源码?
如何在腾讯云免费申请建站?
高端建站如何打造兼具美学与转化的品牌官网?
如何快速搭建高效简练网站?
如何在七牛云存储上搭建网站并设置自定义域名?
Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤
免费网站制作appp,免费制作app哪个平台好?
,交易猫的商品怎么发布到网站上去?
Laravel的.env文件有什么用_Laravel环境变量配置与管理详解
如何在阿里云虚拟主机上快速搭建个人网站?
如何为不同团队 ID 动态生成多个“认领值班”按钮
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
bootstrap日历插件datetimepicker使用方法
JavaScript模板引擎Template.js使用详解
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
如何在阿里云域名上完成建站全流程?
JavaScript如何实现错误处理_try...catch如何捕获异常?
深圳网站制作培训,深圳哪些招聘网站比较好?
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
Win11怎么设置默认图片查看器_Windows11照片应用关联设置
js实现获取鼠标当前的位置
魔毅自助建站系统:模板定制与SEO优化一键生成指南
BootStrap整体框架之基础布局组件
Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作
Laravel怎么自定义错误页面_Laravel修改404和500页面模板
java获取注册ip实例
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布
什么是javascript作用域_全局和局部作用域有什么区别?
HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】
Android中AutoCompleteTextView自动提示
如何快速生成橙子建站落地页链接?
PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】
Laravel如何使用Telescope进行调试?(安装和使用教程)

