我有两台服务器:一台 CentOS 5.8 和一台 Solaris 10。两台服务器都通过以下方式加入到我的工作场所 AD 域:PBIS 开放。用户将登录到 Linux 服务器并运行一个应用程序,该应用程序通过 RSH 向 Solaris 服务器发出命令。一些命令也在 Linux 服务器上运行,因此两者都是必需的。由于这些服务器正在用于应用程序(专有 GE 软件),Linux 服务器上的软件需要能够rsh
代表用户向 Solaris 服务器发出命令(用户只需运行脚本,其余的都是自动的)。
但是,rsh 对域用户不起作用。它对本地用户有效,所以我相信我在两台服务器之间进行了正确的必要信任设置。但是,我可以rlogin
作为域用户从 Linux 服务器访问 Solaris 服务器。SSH 也可以使用(我真希望我能使用它)。
一些相关信息:
通过rlogin:
[user@linux~]$ rlogin solaris
connect to address 192.168.1.2 port 543: Connection refused
Trying krb4 rlogin...
connect to address 192.168.1.2 port 543: Connection refused
trying normal rlogin (/usr/bin/rlogin)
Sun Microsystems Inc. SunOS 5.10 Generic January 2005
solaris%
通过rsh:
[user@linux ~]$ rsh solaris ls
connect to address 192.168.1.2 port 544: Connection refused
Trying krb4 rsh...
connect to address 192.168.1.2 port 544: Connection refused
trying normal rsh (/usr/bin/rsh)
permission denied.
[user@linux ~]$
solaris 上 /etc/pam.conf 的相关代码片段:
#
# rlogin service (explicit because of pam_rhost_auth)
#
rlogin auth sufficient pam_rhosts_auth.so.1
rlogin auth requisite pam_lsass.so set_default_repository
rlogin auth requisite pam_lsass.so smartcard_prompt try_first_pass
rlogin auth requisite pam_authtok_get.so.1 try_first_pass
rlogin auth sufficient pam_lsass.so try_first_pass
rlogin auth required pam_dhkeys.so.1
rlogin auth required pam_unix_cred.so.1
rlogin auth required pam_unix_auth.so.1
#
# Kerberized rlogin service
#
krlogin auth required pam_unix_cred.so.1
krlogin auth required pam_krb5.so.1
#
# rsh service (explicit because of pam_rhost_auth,
# and pam_unix_auth for meaningful pam_setcred)
#
rsh auth sufficient pam_rhosts_auth.so.1
rsh auth required pam_unix_cred.so.1
#
# Kerberized rsh service
#
krsh auth required pam_unix_cred.so.1
krsh auth required pam_krb5.so.1
#
我在两个系统日志中都没有看到任何有用的信息,似乎与登录失败直接相关。在登录失败期间,我在 solaris 和linux 上tail -f
都试过了,什么都没有显示出来。也许我需要做点别的?/var/adm/messages
/var/log/messages
答案1
我理解你的痛苦rsh
。我们工作中的软件使用终端客户端通过 telnet 连接到数据库系统(它需要 telnet,因为它有特定的终端仿真器和客户端软件)。世界上充满了这种(愚蠢的)东西。
但是,如果您的应用程序需要做的只是运行命令,那么您可能可以摆脱困境ssh
(使用密钥自动登录)。因此,使用您的示例,ssh solaris ls
将返回 Linux 计算机上的用户,这是在 Solaris 计算机上的主目录上运行的结果ls
。我认为这就是您尝试使用 rsh 完成的所有任务。