rsh
(remote shell)提供用户环境,也就是Shell,以便指令能够在指定的远端主机上执行。rsh
连接到指定的主机,并执行指定的命令。rsh
将其标准输入复制到远程命令,将远程命令的标准输出复制到其标准输出,将远程命令的标准错误复制到其标准错误。
rsh
命令在大多数Linux发行版中都可以使用。如果在某些Linux发行版中无法使用,可能需要安装rsh
包。在Debian/Ubuntu中,可以使用以下命令进行安装:
[linux@bashcommandnotfound.cn ~]$ sudo apt install rsh-redone-client rsh-redone-server
在CentOS/RHEL/Fedora中,可以使用以下命令进行安装:
[linux@bashcommandnotfound.cn ~]$ sudo dnf install rsh-redone-client rsh-redone-server
语法格式如下:
rsh host [-l username] [-n] [-d] [-k realm] [-f | -F] [-x] [-PN | -PO] command
以下是rsh
命令的一些常用选项1:
选项 | 说明 |
---|---|
-l username | 设置远程用户名为username。否则,远程用户名将与本地用户名相同。 |
-x | 导致网络会话流量被加密。这仅适用于输入和输出流,而不适用于命令行。 |
-f | 导致非转发的Kerberos凭据被转发到远程机器,供指定的命令使用。当命令完成时,它们将被删除。此选项与-F选项互斥。 |
-F | 导致可转发的Kerberos凭据被转发到远程机器,供指定的命令使用。当命令完成时,它们将被删除。此选项与-f选项互斥。 |
-k realm | 导致rsh获取远程主机在realm中的票据,而不是远程主机的realm,由krb_real-mofhost确定。 |
-d | 在与远程主机通信的TCP套接字上打开套接字调试。 |
-n | 将输入重定向从/dev/null。 |
-PN, -PO | 显式请求Kerberos的新版本或旧版本的"rcmd"协议。新协议避免了旧版本中发现的许多安全问题,但与旧版本的服务器不兼容。 |
以下是一些rsh
命令的使用实例。
如果没有指定要在远程主机上执行的命令,您将使用rlogin在远程shell上登录2。以下命令将在远程主机kali上启动终端会话,作为本地机器上的同一用户。
[linux@bashcommandnotfound.cn ~]$ rsh 192.168.56.102
您可以使用rsh
在远程主机上执行命令。以下命令将在远程主机kali上执行ls
命令。
[linux@bashcommandnotfound.cn ~]$ rsh 192.168.56.102 ls
您可以使用-l
选项在远程主机上以特定用户身份执行命令。以下命令将在远程主机kali上以用户john
的身份执行ls
命令。
[linux@bashcommandnotfound.cn ~]$ rsh -l john 192.168.56.102 ls
如果您需要在远程主机上执行需要输入的命令,您可以使用echo
命令和管道符|
。以下命令将在远程主机kali上创建一个名为testfile
的文件,并在其中写入文本“Hello, World!”。
[linux@bashcommandnotfound.cn ~]$ echo "Hello, World!" | rsh 192.168.56.102 'cat > testfile'
好的,我会继续列举一些rsh
命令的使用实例。
您可以使用rsh
在远程主机上执行多个命令。以下命令将在远程主机kali上执行ls
和pwd
命令。
[linux@bashcommandnotfound.cn ~]$ rsh 192.168.56.102 'ls; pwd'
如果您需要在远程主机上执行需要超级用户权限的命令,您可以使用sudo
命令。以下命令将在远程主机kali上以超级用户的身份执行apt update
命令。
[linux@bashcommandnotfound.cn ~]$ rsh 192.168.56.102 'sudo apt update'
rsh
远程执行;请改用rlogin
。bash: rsh: command not found
,请按照上述方法安装。以下是一些与rsh
相关的命令:
更多详细内容可以参考:
linux入门学习教程 - Linux入门自学网
Linux rsh命令用法详解:如何连接到远程主机并在那里执行命令