rlogin — Remote login — DEPRECATED unencrypted predecessor to ssh across all 5 shells
Equivalents in every shell
ssh user@hostUse `ssh` — `rlogin` (TCP/513, unencrypted) was removed from Debian/Ubuntu by default (Stretch dropped it from the default install) and from RHEL/Fedora in RHEL 9. The drop-in replacement for an interactive login session is plain `ssh user@host`.
ssh user@hostmacOS removed `rlogin` in 10.13 (High Sierra) along with `rsh` and `telnet`. `ssh user@host` is the fully featured replacement; pair with `ssh-copy-id user@host` to seed the key once, then logins are passwordless.
ssh user@hostSame — fish ships nothing for legacy r-commands. `ssh user@host` is the universal answer; for a richer terminal multiplexer experience over the link, `ssh user@host -t tmux attach` reattaches a remote tmux session on connect.
ssh user@hostWindows never shipped `rlogin.exe` natively. The OpenSSH Client (built in since Windows 10 1809) handles the use case. For Windows-to-Windows interactive remoting use `Enter-PSSession -ComputerName host` (WinRM), which gives you an interactive PowerShell prompt rather than a cmd shell.
ssh user@hostNo native `rlogin`. The OpenSSH `ssh` client works identically from cmd.exe. For Windows-style interactive remoting use `winrs -r:host cmd` (cmd shell over WinRM); for full-screen GUI, `mstsc /v:host` (Remote Desktop) is the canonical interactive answer.
Worked examples
Open an interactive login session on a remote host
ssh user@hostEnter-PSSession -ComputerName hostwinrs -r:host cmdForward $TERM and locale (matches `rlogin` defaults)
ssh -t user@hostssh -t user@hostLogin on a non-default port
ssh -p 2222 user@hostssh -p 2222 user@hostGotchas
- `rlogin` shared the same TCP/513 plaintext channel as `rsh` — credentials on the wire, no encryption, no MAC. The protocol was actively used to compromise commodity Unix machines from the 1990s onward. This is why it is gone, not why it should be patched.
- `rlogin` automatically forwarded `$TERM`, `$DISPLAY`, and the local username — features ssh now handles via `SendEnv` / `ForwardX11` / `User`. For matching legacy behaviour: `ssh -X -o "SendEnv TERM" -l $USER host`. (X11 forwarding over ssh requires `X11Forwarding yes` in sshd_config plus an X server on the client.)
- Some legacy automation parses `~/.rhosts` for trust — ssh deliberately ignores it. The closest ssh equivalent is `HostbasedAuthentication yes` + `~/.shosts`, which most distros disable by default. Migrate to per-user `~/.ssh/authorized_keys` instead; do not enable HostbasedAuth lightly.
- `rlogin` had no concept of host-key verification — it trusted DNS and IP completely. Migrating scripts must add `StrictHostKeyChecking accept-new` (OpenSSH ≥ 7.6) or seed a `~/.ssh/known_hosts` file ahead of time, otherwise the first ssh fails the unattended login the legacy script expected.
- `rlogin` allowed the local username to flow as the remote login name with no flag (no `-l user`). The `ssh` equivalent is `ssh host` (no user prefix) — same behaviour. Scripts that relied on `rlogin host` running as the local user need NO change beyond renaming the binary.