Linux 下sftp配置之密钥方式登录详解

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配置之密钥方式登录详解

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

原创文章,作者:BHVIW,如若转载,请注明出处:http://www.wangzhanshi.com/n/7349.html

(0)
BHVIW的头像BHVIW
上一篇 2025年1月1日 16:29:23
下一篇 2025年1月1日 16:29:25

相关推荐

  • cloudera manager 设置开机自启的方法

    最近在使用Cloudera manager管理hadoop集群。为了方便自动化管理,需要添加开机自动启动。从网上搜了一下,在一个安装教程中找到了一个方法。这里我用的是clouder…

    Linux 2025年1月1日
  • linux C编程常见的错误总结(必看篇)

    定义 所谓的段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gd tr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的 gdt表,后13位保存 …

    Linux 2025年1月1日
  • Linux下强大免费的思维导图软件Minder

    前言 结构化思维使我们能够以结构化的方式映射思想,从而能够识别哪些领域最需要思考。思维导图是一个相当自由流动的概念。这意味着你需要多功能的软件,并且能够适应你的需求。导图可以将非常…

    2025年1月1日
  • 为什么在 Linux 中“文件夹”被称为“目录”?

    如果你最开始使用的是 Windows 电脑,你很可能会使用“文件夹folder”这个术语。 但当你换到 Linux 时,你会发现文件夹通常被称为“目录directory”。 这可能…

    2025年1月1日
  • 详解Linux进程调度策略

    本文通过linux进程调度的5类方式详细分析了策略以及实现过程中的详细讲解。 1、linux 下进程分为5种类别,分别是停止类、截止类、实时类、公平类、空闲类, 每种类别都有一个运…

    2025年1月1日
  • Linux下非交互式提权详解

    前言 之前拿到某站的Webshell之后,在提权的时候发现网站不能反弹shell。而且,在渗透的时候经常遇到那种不能反弹shell的,你的提权工具拿上去之后因为没有交互式的环境,也…

    Linux 2025年1月1日
  • linux的最大打开文件数限制修改方法

    前言 本文主要给大家介绍了关于linux最大打开文件数限制修改的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: linux会为每个用户登录系统打开最大文件…

    Linux 2025年1月1日
  • Apache 新站点目录配置 SELinux 的方法

    在 web 服务器管理领域,确保服务器环境的安全性至关重要。SELinux (Security-Enhanced Linux) 是保护 Linux 服务器最有效的工具之一,它是一种…

    2024年12月17日
  • 在 Linux 上安装和使用 Homebrew 包管理器

    Homebrew(家酿),也被称为 Brew,是一个主要为 macOS 创建的命令行包管理器。 Homebrew 在 macOS 用户中相当流行,因为更多的开发者创造了可以用 Ho…

    2025年1月1日
  • Linux下的粘滞位详细介绍

    Linux下的粘滞位详解 1.产生粘滞位的原因: Linux下有一个用于存放临时文件的目录 /temp,每一个用户产生的临时文件都存放在 /temp目录下面,而且每个用户都对于这些…

    2025年1月1日

发表回复

登录后才能评论