使用 sudo 用户 ssh 到远程服务器时出错

使用 sudo 用户 ssh 到远程服务器时出错

尝试通过 sudo 用户执行 ssh 到远程机器并出现错误,但通过我的普通用户执行 ssh 时出现连接错误。以下是详细过程。

case_1-普通用户使用 ssh-工作正常

  • 使用 NormalUser/Password 通过 putty 登录主机
  • 使用 ssh-keygen 生成 ssh 密钥。在 HostMachine/NormalUser/.ssh 中获取私有 ssh 密钥 id_rsa 和 id_rsa.pub。
  • 将 HostMachine/NormalUser/.ssh/id_rsa.pub 公钥数据复制到 RemoteMachine/NormalUser/.ssh/authorized_keys
  • 在 HostMachine 上,执行 ssh NormalUser@RemoteMachine。无需密码即可登录 RemoteMachine。工作正常。

case_2 - Sudo 用户使用 ssh - 连接错误

  • 使用 NormalUser/Password 通过 putty 登录主机

  • 使用 sudo su - PowerUser 将 sudo 设置为高级用户

  • 使用 ssh-keygen 生成 ssh 密钥。在 HostMachine/PowerUser/.ssh 中获取私有 ssh 密钥 id_rsa 和 id_rsa.pub。

  • 将 HostMachine/PowerUser/.ssh/id_rsa.pub 公钥数据复制到 RemoteMachine/PowerUser/.ssh/authorized_keys

  • 在 HostMachine 上,执行 ssh PowerUser@RemoteMaehchine。无法登录 RemoteMachine。出现以下错误

Case_2 中提到的过程是不允许在 Unix/ssh 协议中?如果是这样,那么 PowerUser 使用 ssh 的替代方法是什么。

如果不受 Unix/ssh 的限制,我这里缺少什么。

错误 - :

debug2: we did not send a packet, disable method
debug1: Next authentication method: publickey
debug1: Trying private key: /lch/fxclear/PowerUser/.ssh/identity
debug1: Offering public key: /lch/fxclear/PowerUser/.ssh/id_rsa
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-rsa blen 277
debug2: input_userauth_pk_ok: SHA1 fp 74:56:cd:eb:f5:00:32:22:9f:e6:42:38:b1:bc:45:b6:6e:00:2f:6e
debug1: read PEM private key done: type RSA
Connection closed by 10.81.37.35

更新_1——:尝试了从新主机服务器到相同目标服务器的类似过程,两个用户的行为类似,但出现如下所示的位差异错误。

错误 - :

debug1: Unspecified GSS failure.  Minor code may provide more information
No Kerberos credentials available (default cache: KEYRING:persistent:11175)

debug2: we did not send a packet, disable method
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /lch/fxclear/PowerUser/.ssh/id_rsa
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg rsa-sha2-512 blen 279
debug2: input_userauth_pk_ok: fp SHA256:tSSIY3zE4zXhDddegqs4UvvfEGwjmHN54pNZWSekWMo
Authentication failed.

答案1

我认为这里有一个权限问题。似乎 id_rsa 和 id_rsa.pub 属于 root,无法读取。

有两种可能的解决方案适合您:

  1. 将您的用户添加到 root 组(不是受到推崇的)

  2. 使用以下方法更改密钥所有者chown

答案2

最终能够解决这个问题。

原来是我的组织的 Unix 组级别限制,谁可以使用 ssh 远程登录到另一个机器。

“NormalUser” 属于允许 ssh 远程登录的组(在远程主机上),而“PowerUser”组则不允许。

在 RemoteHost 上,Unix 团队将“PowerUser”添加到 ssh 允许组,现在运行良好。

相关内容