无需 sudoers 文件即可访问 Linux 服务器

无需 sudoers 文件即可访问 Linux 服务器

我已在 Windows 服务器上安装了 Jenkins,并在服务器上创建了 Jenkins 用户,现在我需要将 WAR 文件推送到我的 Linux 服务器上,推送到 sudoers 文件中的特定用户根 (myrootuser)。

我也可以访问 sudoers 文件中的该服务器(myusername),因此我可以使用我的凭据登录并 su sudo su - myrootuser 来获取访问权限。

我的问题
Jenkins 用户是否可以在不进入 sudoers 文件的情况下访问 myrootuser 我尝试将 Jenkns 的公钥添加到 myrootuser .ssh/authorized_keys 中,并在 Windows 服务器中添加了一个包含 Linux 服务器详细信息的文件 know_hosts

已编辑

我有一台安装了 Jenkins 的 Linux 服务器,该服务器可以完美地与这台 Linux 服务器通信……它的公钥存在于 authorized_keys 中,因此我在这里添加了我的 Windows 服务器密钥……但是它不起作用

答案1

您可以使用 chown 命令在 linux 中添加对文件夹的访问权限,其中可以使用递归选项添加用户或组,例如:chown -R jenkins:root /folderpath 还可以使用 chmod 设置适当的读写权限,或者您可以使用 setfacl 命令设置

答案2

就像 Vijay 所说的那样,创建一个共享文件夹:

mkdir /jenkins

然后创建一个组以允许root用户和jenkins共享访问:

groupadd jenkins

并添加 jenkins 和 root 用户:

usermod jenkins -G jenkins
usermod root -G jenkins

最后将目录 chown 和 chmod 到 jenkins:

chown jenkins:jenkins /jenkins
chmod 770 /jenkins

祝你好运!

答案3

因此事实证明该服务器只接受特定的 IP 地址(其他服务器)。我按照以下步骤发现该问题:

首先,我使用 -vv 在客户端查看了这个问题

ssh -vv [email protected]

结果发现客户端没有问题所以我转到服务器端。

在服务器端查看 ssh 的问题

vi /var/log/secure

在这里我发现我的客户端服务器(IP 地址被拒绝),经过一番谷歌搜索后,我发现我必须修改以下文件

sudo  vi /etc/security/access.conf

您将找到用户及其 IP 地址,例如 myrootuser 10.1.2.3 10.2.3.3

只需添加新的客户端服务器 IP 地址即可:)
附言您需要 root 权限或 sudo 来修改此文件

相关内容