我的编程空间,编程开发者的网络收藏夹
学习永远不晚

linux操作系统下配置ssh/sftp和权限设置方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

linux操作系统下配置ssh/sftp和权限设置方法

基于 ssh 的 sftp 服务相比 ftp 有更好的安全性(非明文帐号密码传输)和方便的权限管理(限制用户的活动目录)。

1、开通 sftp 帐号,使用户只能 sftp 操作文件, 而不能 ssh 到服务器

2、限定用户的活动目录,使用户只能在指定的目录下活动,使用 sftp 的 ChrootDirectory 配置

确定版本

#确保 ssh 的版本高于 4.8p1 否则升级一下 一般都高于这个版本
ssh -V

新建用户和用户组

#添加用户组 sftp
groupadd sftp
#添加用户 指定家目录 指定用户组 不允许shell登录
useradd -d /home/sftp -m -g sftp -s /bin/false sftp
#设置用户密码
passwd sftp

活动目录

#设定你想要限定的活动目录
mkdir -p /var/www/sftp
#配置权限 注意此目录如果用于后续的 chroot 的活动目录 目录所有者必须是 root 必须是!!!
chown root.sftp /var/www/sftp

基本的 ssh 配置

# ssh 服务的配置文件
vi /etc/ssh/sshd_config

#基本的ssh远程登录配置
#开启验证
PasswordAuthentication yes
#禁止空密码登录
PermitEmptyPasswords no
#开启远程登录
PermitRootLogin yes

至此你就可以使用 ssh 远程登录服务器了

配置 sftp

#这里我们使用系统自带的 internal-snshalTJVftp 服务即可满足需求
#Subsystem      sftp    /usr/libexec/openssh/sftp-server
Subsystem      sftp    internal-sftp

Subsystem

Subsystem 是说 ssh 的子模块 这里启用的即为 sftp 模块,我们使用系统自带的 internal-sftp 来提供此服务,其实配置到这你即可以使用帐号 ssh 登录,也可以使用 ftp 客户端 sftp 登录。

如果你希望用户只能 sftp 而不能 ssh 登录到服务器,而且要限定用户的活动目录,继续看下面的配置

#对登录用户的限定
Match Group sftp
    ChrootDirectory /var/www/sftp # 还可以用 %h代表用户家目录 %u代表用户名
    ForceCommand    internal-sftp # 强制使用系统自带的 internal-sftp 服务 这样用户只能使用ftp模式登录
    AllowTcpForwarding no
    X11Forwarding no

Match [User|Group] userName|groupName

Match [User|Group] sftp    这里是对登录用户的权限限定配置 Match 会对匹配到的用户或用户组起作用 且高于 ssh 的通项配置

ChrootDirectory    用户的可活动目录 可以用 %h 标识用户家目录 %u 代表用户名 当 Match 匹配的用户登录后 会话的根目录会切换至此目录 这里要尤其注意两个问题

1、 chroot 路径上的所有目录,所有者必须是 root,权限最大为 0755,这一点必须要注意而且符合 所以如果以非 root 用户登录时,我们需要在 chroot 下新建一个登录用户有权限操作的目录

2、chroot 一旦设定 则相应的用户登录时会话的根目录 "/" 切换为此目录,如果你此时使用 ssh 而非 sftp 协议登录,则很有可能会被提示:

/bin/bash: No such file or directory

这则提示非常的正确,对于此时登录的用户,会话中的根目录 "/" 已经切换为你所设置的 chroot 目录,除非你的 chroot 就是系统的 "/" 目录,否则此时的 chroot/bin 下是不会有 bash 命令的,这就类似添加用户时设定的 -s /bin/false 参数,shell 的初始命令式 /bin/false 自然就无法远程 ssh 登录了

ForceCommand    强制用户登录会话时使用的初始命令 如果如上配置了此项 则 Match 到的用户只能使用 sftp 协议登录,而无法使用 ssh 登录 会被提示
This service allows sftp connections only.

配置完成 重启 sshd 服务

service sshd restart

注意:

1、chroot 可能带来的问题,因为 chroot 会将会话的根目录切换至此,所以 ssh 登录很可能会提示 /bin/bash: No such file or directory 的错误,因为此会话的路径会为 chroot/bin/bash

2、ForceCommand 为会话开始时的初始命令 如果指定了比如 internal-sftp,则会提示 This service allows sftp connections only. 这就如同 usermod -s /bin/false 命令一样,用户登录会话时无法调用 /bin/bash 命令,自然无法 ssh 登录服务器

总结

以上所述是小编给大家介绍的linux操作系统下配置ssh/sftp和权限设置方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

linux操作系统下配置ssh/sftp和权限设置方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

linux操作系统下配置ssh/sftp和权限设置方法

基于 ssh 的 sftp 服务相比 ftp 有更好的安全性(非明文帐号密码传输)和方便的权限管理(限制用户的活动目录)。 1、开通 sftp 帐号,使用户只能 sftp 操作文件, 而不能 ssh 到服务器 2、限定用户的活动目录,使用户
2022-06-04

Windows系统下获取SYSTEM权限设置的方法

默认情况下,我们无法直接在登录对话框上以SYSTEM帐户的身份登录到Windows桌面环境。实际上SYSTEM帐户早就已经“盘踞”在系统中了。想想也是,连负责用户验证的Winlogon、Lsass等进程都是以SYST
2023-06-03

在Linux操作系统下修改IP、DNS和路由配置的方法

这篇文章主要介绍“在Linux操作系统下修改IP、DNS和路由配置的方法”,在日常操作中,相信很多人在在Linux操作系统下修改IP、DNS和路由配置的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”在Li
2023-06-13

Linux系统配置Linux访问控制列表的权限控制方法

本篇内容主要讲解“Linux系统配置Linux访问控制列表的权限控制方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统配置Linux访问控制列表的权限控制方法”吧!使用拥有权限控制
2023-06-13

Redhat Linux系统下磁盘配额的设置方法

本篇内容主要讲解“Redhat Linux系统下磁盘配额的设置方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Redhat Linux系统下磁盘配额的设置方法”吧!配额可以使各个用户和组无法占
2023-06-10

Linux操作系统下怎么修改IP、DNS和路由配置

这篇文章主要介绍“Linux操作系统下怎么修改IP、DNS和路由配置”,在日常操作中,相信很多人在Linux操作系统下怎么修改IP、DNS和路由配置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux操作
2023-06-10

Linux系统下Qt的基本安装和配置方法

本篇内容介绍了“Linux系统下Qt的基本安装和配置方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、安装Qt Creator和基础构建
2023-06-12

如何在麒麟操作系统上进行多用户管理和权限设置

在麒麟操作系统上进行多用户管理和权限设置,可以按照以下步骤进行:1. 创建用户:登录管理员账户,打开终端,并使用以下命令创建新用户:```sudo adduser username```其中,username是你想要创建的新用户的用户名。2
2023-10-10

uniapp组件uni-file-picker中设置使用照相机和相册权限的操作方法

这篇文章主要介绍了uniapp组件uni-file-picker中设置使用照相机和相册的权限,在uniapp中,我们通常会使用uni-file-picker这个组件,但是这个组件中,有点缺陷,就是没有对这个功能的传值设置,这里就要给组件进行修改了,需要的朋友可以参考下
2022-11-16

不同操作系统下快照恢复后纠正网络配置的方法

在恢复到新机器的快照之后,您可能会遇到由网络适配器的MAC地址所引起的问题。通常,当网络适配器更改操作系统时,将为它创建一个新的网络适配器。您通常会在“eth2”上看到网络适配器(如果启用了私有网络,则可以使用eth3)。CentOS通过控
2023-06-04

云服务器地域和操作系统如何选择地址设置方法

首先,地域对于云服务器的性能和稳定性有着很大的影响。一个地理位置优越的云服务器可能会提供更快的计算速度和更高的性能表现,因为云服务器通常会在多个地点部署和运行。此外,地理位置也会影响到云服务器的成本和可用性。如果用户的业务需要处理大量的数据,那么地理位置可能是一个重要的考虑因素。其次,操作系统也是影响云服务器性能和稳定
云服务器地域和操作系统如何选择地址设置方法
2023-10-28

云服务器地域和操作系统如何选用路由器设置方法

首先,我们需要确定云服务器的地域。如果我们将数据存储在本地,那么云服务器就需要具备高可靠性和安全性。如果我们将数据存储在云服务器的数据中心,那么就需要考虑数据中心的网络安全性和稳定性。因此,选择云服务器的地域时需要综合考虑以上两个方面。其次,我们需要选择合适的操作系统。目前市面上的云服务器操作系统主要有AWS、阿里云、
2023-10-27

编程热搜

目录