当前位置: 首页 > news >正文

jsch连接服务器执行命令时遇到的问题记录

目录

创建sftp用户

创建SFTP组

 创建SFTP用户

设置SFTP用户的密码

设置SFTP用户的主目录和权限

配置SSH服务以允许SFTP登录

重启ssh服务

用户权限不足

打开sudoers文件

添加用户

新用户使用docker-compose报错

sudo执行问题

打开sudoers文件

更改命令搜索路径

 总结

创建sftp用户

创建SFTP组

sudo groupadd sftp_users

 创建SFTP用户

sudo useradd -g sftp_users -s /bin/false -d /home/sftp_user1 sftp_user1

其中,-g表示指定用户组,-s表示指定shell为/bin/false,因为SFTP用户不需要使用shell,如果需要使用shell则可以不写-s或者写-s /bin/bash。-d指定用户的主目录。

设置SFTP用户的密码

sudo passwd sftp_user1

设置SFTP用户的主目录和权限

sudo mkdir -p /home/sftp_user1/upload
sudo chown root:sftp_users /home/sftp_user1
sudo chmod 755 /home/sftp_user1
sudo chown sftp_user1:sftp_users /home/sftp_user1/upload
sudo chmod 755 /home/sftp_user1/upload

 其中,/home/sftp_user1/upload是SFTP用户的主目录,chown命令用于更改文件或目录的所有者和所属组,chmod命令用于更改文件或目录的访问权限。

配置SSH服务以允许SFTP登录

编辑SSH配置文件/etc/ssh/sshd_config

找到Subsystem sftp internal-sftp并取消注释

在下边新增

Match Group sftp_users
        ChrootDirectory %h
        ForceCommand internal-sftp
        X11Forwarding no
        AllowTcpForwarding no

 Match Group sftp_users表示为sftp_users组中的用户应用以下设置,ChrootDirectory %h表示将用户锁定在其主目录中,ForceCommand internal-sftp表示强制使用SFTP协议,X11Forwarding no表示禁止X11转发,AllowTcpForwarding no表示禁止TCP转发。

重启ssh服务

sudo systemctl restart sshd

用户权限不足

在使用过程中,因为很多文件是比较隐私的,所以对改用户的权限不够,这样的文件会比较多,所以一一改是不太现实的,最终我决定让该用户可以使用sudo命令

打开sudoers文件

sudo visudo

添加用户

先找到

root    ALL=(ALL)       ALL

然后在下边添加 

sftp_user1    ALL=(ALL)      NOPASSWD:ALL

 注意要使用NOPASSWD,否则客户端执行sudo命令时不会成功

保存退出即可

新用户使用docker-compose报错

错误:Couldn't connect to Docker daemon at http+docker://localhost - is it running?

先确定docker是否启动,一般都会没问题
然后检查新用户是否加入docker用户组

sudo执行问题

服务器上有庞大的脚本,而很多脚本引入了一些相对路径的问题,一一更改是不现实的,但是sudo命令会改变当前工作目录,导致相对路径失效。这个时候我们又要对sudo进行配置

打开sudoers文件

sudo visudo

更改命令搜索路径

找到

Defaults    secure_path 

在后边添加路径,以冒号分隔案例

Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/path/to/your/dir" 

 总结

这些东西对于老运维来说肯定是很简单的,对于开发者来说可能还要找寻答案,记录以便日后使用

相关文章:

  • 6.6 负反馈放大电路的稳定性
  • nmap使用详解
  • Stable Diffusion的2个重要Step和CfgScale的具体含义解析
  • SaaS 营销,如何利用 RPA 实现自动化获客?
  • 【9】核心易中期刊推荐——图像视觉与图形可视化
  • excel文件打不开如何修复
  • 一个基于缓存的业务链路日志记录设计方案
  • 【密码学复习】第一讲绪论
  • 【Linux】认识协议
  • C/C++——声明/定义/内联函数/类 在编译环节的具体实现
  • 官宣|Apache Flink 1.17 发布公告
  • 《辉煌优配》科技股强势引领A股反弹 沪深两市日成交额再超万亿元
  • 淘宝技术架构演进
  • CentOS8提高篇8:CentOS制作U盘启动盘
  • springboot 整合Mybatis-Plus分页、自动填充功能
  • Android源码面试宝典之JobScheduler从使用到原理分析(二)【JSS的启动】
  • 锂电池充电的同时也能放电吗?
  • Day919.生产就绪 -SpringBoot与K8s云原生微服务实践
  • 区块链系统:挖矿原理
  • 定时执行专家V6.7发布,增加标签自由分组功能 —— Tag feature for TimingExecutor
  • 电加热油锅炉工作原理_电加热导油
  • 大型电蒸汽锅炉_工业电阻炉
  • 燃气蒸汽锅炉的分类_大连生物质蒸汽锅炉
  • 天津市维修锅炉_锅炉汽化处理方法
  • 蒸汽汽锅炉厂家_延安锅炉厂家
  • 山西热水锅炉厂家_酒店热水 锅炉
  • 蒸汽锅炉生产厂家_燃油蒸汽发生器
  • 燃煤锅炉烧热水_张家口 淘汰取缔燃煤锅炉
  • 生物质锅炉_炉
  • 锅炉天然气_天燃气热风炉