Why does the rsh protocol return standard output?
This is because the rsh protocol returns standard output via the regular TCP connection and standard error via this weird back-channel connection. Obviously this works very, very poorly in these days of ubiquitous firewalls.
Why is RSH dying on my firewall?
Some firewalls have rsh protocol state tracking to allow this, but even if that’s available, it’s often not turned on. This (among many other reasons) is why rsh is dying and everyone is switching to ssh, which has a much better-designed (although more complex) protocol that multiplexes multiple output streams over the same connection.
When to use RSH to access and execute commands?
When using rsh to access and execute commands on remote hosts (such as “rsh remotehost command”), the system hangs for a long period of time, then returns the error: Disabling the firewall on the local machine allows commands to be executed successfully.
Where are the ports in the firewall for RSH?
To configure this range of ports in the Firewall setup (via YaST), include the TCP port range 1011:1023. This will open the entire block of ports on the local system, allowing the rsh commands to execute properly.
Why is RSH dying and everyone is switching to SSH?
This (among many other reasons) is why rsh is dying and everyone is switching to ssh, which has a much better-designed (although more complex) protocol that multiplexes multiple output streams over the same connection. This is why your first link says to turn off iptables; it’s disabling the firewall that’s blocking that back-channel connection.
Is the rsh protocol based on TCP or FTP?
rsh is an exceptionally weird protocol which features one wrinkle that’s quite unusual (I think non-PASV ftp is the only other TCP-based protocol I’ve seen it with): after opening a connection to the server, the server has to open a TCP connection back to the client.