当我rsh localhost pwd
以 root 身份运行命令时
它显示以下输出。
connect to address 127.0.0.1 port 544: Connection refused
Trying krb4 rsh...
connect to address 127.0.0.1 port 544: Connection refused
trying normal rsh (/usr/bin/rsh)
rcmd: socket: Permission denied
当我从名为 的普通用户运行相同的命令时service
。然后它显示以下输出。
connect to address 127.0.0.1 port 544: Connection refused
Trying krb4 rsh...
connect to address 127.0.0.1 port 544: Connection refused
trying normal rsh (/usr/bin/rsh)
/home/service
为什么会发生这种行为?
答案1
第一个示例尝试root
在系统上登录并运行,pwd
而第二个示例则通过登录service
并运行pwd
。
您的配置可能不允许以 root 身份登录或从本地主机的 root 登录。
要进一步调试它,您可以尝试运行rsh -l service localhost pwd
并查看它是否有效。还请您看一下为什么我不能将 strace 与 rsh 一起使用?这解释了另一个可能的问题。
答案2
rsh
立即铲除。它是一个巨大的安全风险。不,“这只是一个内部网络,不会有任何邪恶的中国黑客”是完全无关紧要的,攻击要么是自动化的(招募僵尸网络),要么是有针对性的,第二种是(取决于你想要的统计数据)相信)80% 到 95% 的情况是由内部用户发起的。
使用ssh
,它提供几乎相同的好处,但更安全。是的,设置起来有点困难,但也不是那么难。
答案3
RSH 非常不安全 - 你真的想让任何拥有数据包嗅探器的人看到吗任何密码通过有线方式与用户 ID 以纯文本形式传输?
一旦 SSH 可用,它就应该从发行版中删除,但有人仍然担心它可能会破坏某人 1986 年的古老的、高度不安全的脚本。
RSH是坏juju!
然而,我会让你搬起石头砸自己的脚 - 因为它是 UNIX,当你的老板因为你的服务器被黑客攻击而解雇你时,你可能真的想要一个借口,因为你不想弄清楚 SSH。
一个可能的原因是您的 root 帐户被拒绝通过 直接登录访问服务器本身rsh
。下面是一个关于如何通过只允许 root 来禁用 root 的远程 shell 的链接/dev/console
。你正在做相反的事情。
http://home.shafe.com/docs/remoteroot.html
SSH 的 root 也有类似的设置。这是 sshd_config 中的一个简单标志。
http://www.mydigitallife.info/disable-direct-root-login-and-user-access-via-ssh-to-server/