У меня два сервера: один CentOS 5.8 и один Solaris 10. Оба подключены к моему рабочему домену AD через PBIS-Open. Пользователь войдет на сервер 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 ~]$
соответствующий фрагмент из /etc/pam.conf на Solaris:
#
# 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
#
Я не нашел ничего полезного ни в одном системном журнале, что, кажется, напрямую связано с неудачной попыткой входа в систему. Я tail -f
'д /var/adm/messages
на solaris & /var/log/messages
на Linux во время неудачных попыток, и ничего не появляется. Может мне нужно заняться чем-то еще?
Я понимаю твою боль с rsh
. Наше программное обеспечение на работе подключается к системе базы данных с помощью терминального клиента через telnet (и ему нужен telnet, поскольку он имеет специальный эмулятор терминала и клиентское программное обеспечение). В мире полно таких (глупых) вещей.
Однако, если все, что нужно вашему приложению, - это запускать команды, вам может сойти с рук ssh
(с автоматическим входом с ключами). Итак, с вашими примерами, ssh solaris ls
вернется к пользователю на машине Linux, результат выполнения ls
в домашнем каталоге на машине Solaris. Я предполагаю, что это все, что вы пытаетесь достичь с помощью rsh.