「JumpServer」- 连接性测试、推送用户失败,此时日志输出「...............」信息 @20210308

在执行用户推送和资产连通性测试时遇到日志错误,表现为长串省略号。解决方法包括:进入JumpServer目录,激活Python环境,停止服务,清理相关进程,删除临时PID文件,然后重新启动服务。参照提供的官方文档中的Core常见问题部分可获取更多帮助。

问题描述

将推送用户到系统,或者进行资产连接性测试时,日志窗口显示如下消息:

................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................
<think>我们正在讨论的是在非root用户下配置JumpServer免密登录的方法。根据引用内容,我们可以总结以下关键点: 1. JumpServer中配置免密登录通常使用系统用户的"自动登录"模式,并需要自动推送公钥[^1][^3]。 2. 非root用户配置时,需要考虑目标服务器上的用户权限问题,特别是对`~/.ssh/authorized_keys`文件的写入权限[^5]。 3. 如果目标服务器禁止root登录(如引用[3]中`PermitRootLogin no`),则必须使用普通用户[^3]。 根据这些引用,我们可以设计非root用户下的配置步骤: ### 非root用户下配置JumpServer免密登录的方法 #### 前提条件 1. 目标服务器已存在非root用户(例如`webuser`),且该用户具有SSH登录权限。 2. JumpServer的管理用户(即用于推送公钥的凭证)需要对该非root用户有`sudo`权限或直接登录权限(因为需要修改`~/.ssh/authorized_keys`)。 3. 目标服务器的SSH配置允许公钥认证(默认开启)。 #### 配置步骤 1. **在JumpServer上生成密钥对**(如果尚未生成) ```bash # 在JumpServer服务器的合适位置生成密钥对,例如/opt/jumpserver/keys/ ssh-keygen -t rsa -b 4096 -f /opt/jumpserver/keys/nonroot_key -N "" ``` 2. **创建系统用户(非root)** - 登录JumpServer Web控制台 → 资产管理 → 系统用户 - 点击“创建系统用户”,填写如下信息- **名称**:自定义(如`webuser-auto-login`) - **协议**:SSH - **登录方式**:自动登录 - **认证方式**:密钥认证 - **私钥**:上传刚才生成的私钥`nonroot_key` - **开启自动推送**:✅ 勾选(关键步骤) - **用户名**:填写目标服务器上的非root用户名(如`webuser`) - **其他设置**:根据需求指定Shell、家目录等 - **特别注意**:在“推送选项”中指定管理用户(该管理用户需要有权限在目标服务器上操作`webuser`的家目录) 3. **将系统用户授权给目标资产** - 进入“资产管理”→“资产列表”,选择需要配置的10台服务器。 - 点击“批量授权”,在“系统用户”中选择刚创建的`webuser-auto-login`,并选择合适的管理用户(该管理用户需能操作目标服务器的`webuser`账户)。 4. **自动推送原理** JumpServer将通过管理用户登录目标服务器,然后执行以下操作: - 切换到目标用户(`webuser`) - 创建`~/.ssh`目录(如果不存在)并设置权限为`700` - 将公钥(`nonroot_key.pub`)写入`~/.ssh/authorized_keys` - 设置`authorized_keys`文件权限为`600` 5. **验证配置** -JumpServer的Web终端中,使用该系统用户连接任意一台目标服务器: ```bash ssh webuser@目标服务器IP ``` - 若无需输入密码直接登录成功,则配置正确。 #### 常见问题处理 1. **自动推送失败**: - 检查管理用户是否有权切换到目标用户(如配置`sudo`免密)[^1] - 检查目标服务器上目标用户的家目录是否存在且可访问 - 检查目标服务器上`~/.ssh`目录的权限(应为`700`) 2. **权限问题**: 如果管理用户无法直接修改目标用户的文件,可在目标服务器上配置`sudo`规则(示例): ```bash # 在目标服务器上执行(需root权限) echo "jms_manage_user ALL=(webuser) NOPASSWD: /bin/mkdir, /bin/cp, /bin/chmod, /bin/echo" > /etc/sudoers.d/jms_webuser ``` 其中`jms_manage_user`是JumpServer管理用户登录目标服务器时使用的用户名。 3. **SELinux/防火墙问题**: - 如遇连接问题,参考引用[3]临时禁用SELinux(`setenforce 0`)或配置策略 - 确保防火墙开放SSH端口 > 注意:实际生产环境中建议保持SELinux启用,并通过`restorecon -R ~/.ssh`修复上下文[^3]。 #### 安全性建议 - 遵循权限最小化原则[^2],非root用户只授予必要权限 - 定期轮换密钥(建议每3-6个月) - 限制系统用户的可执行命令(JumpServer支持命令过滤) §§相关问题§§ 1. JumpServer自动推送公钥失败如何手动补救? 2. 如何配置JumpServer管理用户的sudo权限? 3.用户环境下JumpServer如何隔离不同用户的密钥? </think>### 非root用户下配置JumpServer免密登录的方法 在非root用户环境下配置JumpServer免密登录需要特殊处理权限问题,以下是具体操作步骤: #### 核心原理 通过JumpServer的系统用户功能,将公钥推送到目标服务器的**普通用户目录**(非root),实现权限隔离和安全管控[^2][^5]。 #### 详细步骤 1. **目标服务器准备(需root权限)** ```bash # 创建普通用户(如appuser) sudo useradd -m appuser sudo passwd appuser # 设置初始密码 # 配置sudo权限(允许JumpServer管理用户操作) echo "appuser ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/cp,/bin/chmod,/bin/chown" | sudo tee /etc/sudoers.d/appuser-priv ``` 2. **JumpServer配置** ```mermaid graph LR A[创建系统用户] --> B[配置自动登录] B --> C[指定普通用户名] C --> D[启用自动推送] D --> E[关联管理用户] ``` - **系统用户配置**: - 名称:`appuser-auto` - 协议:SSH - 登录模式:自动登录 - 用户名:`appuser`(目标服务器的普通用户- 认证方式:密钥认证 - **勾选"自动推送"**[^1] - **关联管理用户**: - 选择已有的root管理用户(需有sudo权限) - 确保"推送用户"设置为`appuser` 3. **密钥管理** ```bash # 在JumpServer生成专属密钥 ssh-keygen -t rsa -b 4096 -f /opt/jumpserver/keys/appuser_key -N "" ``` - 将生成的`appuser_key`私钥上传到系统用户配置 - 公钥(`appuser_key.pub`)将自动推送到目标服务器 4. **权限验证(目标服务器执行)** ```bash # 检查公钥部署情况 sudo -u appuser cat /home/appuser/.ssh/authorized_keys # 确认文件权限 sudo -u appuser ls -ld /home/appuser/.ssh ``` #### 关键配置项 | 配置项 | 值 | 说明 | |----------------|---------------------|------| | 系统用户名 | appuser-auto | JumpServer标识 | | 登录用户名 | appuser | 目标服务器账户 | | 自动推送 | ✅ 启用 | 核心功能[^1] | | 私钥来源 | 上传新生成密钥 | 安全隔离 | | 管理用户 | root (或sudo用户) | 推送执行者 | #### 故障排除 1. **权限问题**: - 目标服务器执行:`sudo chmod 700 /home/appuser/.ssh` - 修复SELinux:`sudo restorecon -Rv /home/appuser/.ssh`[^3] 2. **推送失败**: - 检查管理用户的sudo权限 - 确认目标服务器开放SSH端口(非默认端口需特殊配置)[^3] 3. **登录验证**: ```bash # 在JumpServer测试连接 ssh -i /opt/jumpserver/keys/appuser_key appuser@目标IP ``` > **安全建议**: > 1. 遵循最小权限原则,限制普通用户的sudo权限[^2] > 2. 定期轮换密钥(建议每90天) > 3. 监控登录日志:`sudo -u appuser grep sshd /var/log/auth.log`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值