rsh

rsh

Rsh是遠程外殼(remote shell)的縮寫(外殼是操作系統的一種命令介面)。運行於遠程計算機上的rshd後台程序,接受rsh命令,驗證用戶名和主機名信息,並執行該命令。當用戶不願或不需要與遠程計算機建立遠程會話時,可以使用rsh工具執行輸入的命令。Rsh工具允許用戶在遠程計算機上執行單條命令,而無需在該遠程計算機上進行登錄。

簡介


rsh的格式

rsh命令的一般格式是:
rsh [-Kdnx] [-k realm] [-l username] host [command]

一般常用的格式

rsh host [command ]
command可以是從shell提示符下鍵入的任何Linux命令。

各選項含義

-K關閉所有的Kerbero確認。該選項只在與使用Kerbero確認的主機連接時才使用。
-d打開與遠程主機進行通信的TCP sockets的socket調試。要了解更多的信息,請查閱setsockopt的聯機幫助。
-k請求rsh獲得在指定區域內的遠程主機的Kerberos許可,而不是獲得由krb_relmofhost(3)確定的遠程主機區域內的遠程主機的Kerberos許可。
-l預設情況下,遠程用戶名與本地用戶名相同。本選項允許指定遠程用戶名,如果指定了遠程用戶名,則使用Kerberos確認,與在rlogin命令中一樣。
-n重定向來自特殊設備/dev/null的輸入。
-x為傳送的所有數據打開DES加密。這會影響響應時間和CPU利用率,但是可以提高安全性。Linux把標準輸入放入rsh命令中,並把它拷貝到要遠程執行的命令的標準輸入中。它把遠程命令的標準輸出拷貝到rsh的標準輸出中。它還把遠程標準錯誤拷貝到本地標準錯誤文件中。任何退出、中止和中斷信號都被送到遠程命令中。當遠程命令終止了,rsh也就終止了。

配置過程


安裝前準備

主機ahost ip 192.168.200.123
配置其/etc/hosts 文件
127.0.0.1 ahost localhost192.168.200.200 bhost
配置其/etc/sysconfig/network
NETWORKING=yesHOSTNAME=ahost
主機bhost ip 192.168.200.200
127.0.0.1 bhost localhost192.168.200.123 ahost
配置其/etc/hosts文件
配置其/etc/sysconfig/network
NETWORKING=yesHOSTNAME=bhost

是否安裝rsh包

[root@ahost]# rpm -aq |grep rsh
rsh-0.17-14
rsh-server-0.17-14
如果沒有安裝以上兩個包,請找到相關軟體安裝(如果是LINUX,可以從安裝碟中找到)
安裝包:
rpm -ivh rsh-0.17-5 (linux操作系統)
rpm -ivh rsh-server-0.17-5 (linux 操作系統)

是否啟動rsh服務

方法一:
使用命令setup,查看service是否將[*] rsh 加上*,如果加上*表示可以啟動。
/etc/rc.d/init.d/xinetd restart 或者service xinetd restart
方法二:
rsh 屬於xinetd服務,可以直接修改/etc/xinetd.d/rsh腳本文件。
service shell
{
disable = no
socket_type = stream
wait = no
user = root
log_on_success += USERID
log_on_failure += USERID
server = /usr/sbin/in.rshd
}
當然方法很多,目的就是使用rsh服務能啟動。
/etc/rc.d/init.d/xinetd restart
檢查是否啟動: rsh server 監聽和TCP 是514。
[root@mg04 root]# netstat -an |grep 514
tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN
如果能看到514在監聽說明伺服器已經啟動。

配置rsh server

修改/etc/securetty文件: echo rsh >>/etc/securetty
或者 echo “rsh”>>/etc/securetty都可以
如果打算用root作為rsh用戶的話:
先用root登錄到機器ahost中進行以下操作:
cd ~/
echo "192.168.200.200 root" >>.rhosts 允許192.168.200.200 以root訪問
主要作用是使得bhost來的主機可以不用輸入用戶名和密碼就可以登錄
重啟rsh server.

測試和注意

登錄到bhost機器進行測試: rsh -l root ahost ps -ef
看是否能看到結果。如果看到
[root@mg04 etc]# rsh -l root ahost ps -ef
Permission denied.
這是由於權許可權問題,一般是由於.rhosts沒有配置正確。.rhosts一般位於
rsh server伺服器相對應賬號目錄下比如root(與.bash_profile在同一目錄)
rsh在執行命令有時會找不到。rsh 在調用命令是最好使用絕對路徑。默認搜索路徑為:
[root@mg04 etc]# rsh -l root 192.168.200.123 env |grep PATH
PATH=/usr/bin:/bin
rh8.0下rcp的用法設置
只對root用戶生效
1、在雙方root用戶根目錄下建立.rhosts文件,並將雙方的hostname加進去。在此之前應在雙方的/etc/hosts文件中加入對方的IP和hostname
2、把rsh服務啟動起來,redhat默認是不啟動的。方法:用執行ntsysv命令,在rsh選項前用空格鍵選中,確定退出。然後執行:service xinetd restart即可。
3、到/etc/pam.d/目錄下,把rsh文件中的auth required /lib/security/pam_securetty .so一行用“#”封掉即可

命令行參數


rsh的命令

在運行 RSH 服務的遠程計算機上運行命令。Windows XP 和 Windows 2000 不提供 RSH 服務。Windows 2000 Server Resource Kit 提供名為 Rshsvc.exe 的 RSH 服務。使用不帶參數的 rsh 顯示幫助。
語法
rsh [Host] [-l UserName] [-n] [Command]
參數
Host
指定運行 command 的遠程計算機。
-l UserName
指定遠程計算機上使用的用戶名。在省略情況下,使用當前登錄用戶的名稱。
-n
將 rsh 的輸入重定向到 NULL 設備。這防止本地計算機命令結果的顯示。
Command
指定要運行的命令。
/?
在命令提示符顯示幫助。

rsh的註釋

註釋
標準操作
rsh 命令將標準輸入複製到遠程 command,將遠程 command 的標準輸出複製到其標準輸出,將遠程 command 的標準錯誤複製到其標準錯誤。Rsh 通常在遠程命令終止時終止。
使用重定向符號
為了使重定向在遠程計算機上發生,要以引號引住重定向符號(例如 ">>")。如果不使用引號,重定向會在本地計算機發生。例如,以下命令將遠程文件“RemoteFile”附加到本地文件“LocalFile”中:
rsh othercomputer cat remotefile >> localfile
以下命令將遠程文件 Remotefile 附加到遠程文件 otherremotefile 中:
rsh othercomputer cat remotefile ">>" otherremotefile
使用 rsh
在使用已登錄到某個域並且運行 Windows XP Professional 的計算機時,該域的主域控制器必須可用於確認用戶名或 rsh 命令失敗。
.rhosts 文件
.rhosts 文件通常許可 UNIX 系統的網路訪問許可權。.rhosts 文件列出可以訪問遠程計算機的計算機名及關聯的登錄名。在正確配置了 .rhosts 文件的遠程計算機上運行 rcp、rexec 或 rsh 命令時,您不必提供遠程計算機的登錄和密碼信息。
.rhosts 文件是一個文本文件,該文件中每一行為一個條目,條目由本地計算機名、本地用戶名和有關該條目的所有註釋組成。每個條目均由製表符或空格分開,註釋用符號 (#) 打頭。例如:
host7 #This computer is in room 31A
.rhosts 文件必須在遠程計算機的用戶主目錄中。有關遠程計算機 .rhosts 文件特定執行的詳細信息,請參閱遠程系統的文檔。
只有當網際協議 (TCP/IP) 協議在 網路連接中安裝為網路適配器屬性的組件時,該命令才可用。
範例
要以名稱 admin1 在遠程計算機 vax1 上執行 telcon 命令,請鍵入:
rsh vax1 -l admin1 telcon
Tftp
向運行平凡文件傳輸協議 (TFTP) 服務或 daemon 的遠程計算機(尤其是運行 UNIX 的計算機)傳輸文件或從運行平凡文件傳輸協議 (TFTP) 服務或 daemon 的遠程計算機(尤其是運行 UNIX 的計算機)傳輸文件。
語法
tftp [-i] [Host] [{get | put}] [Source] [Destination]
參數
指定二進位圖像傳送模式(也稱為八進位模式)。在二進位圖像模式下,文件以一個位元組為單位進行傳輸。在傳送二進位文件時使用該模式。如果省略了 -i,文件將以 ASCII 模式傳送。這是默認的傳送模式。該模式將行尾 (EOL) 字元轉換為指定計算機的適當格式。傳送文本文件時使用該模式。如果文件傳送成功,將顯示數據傳輸率。
Host
指定本地或遠程計算機。
put
將本地計算機上的 Destination 文件傳送到遠程計算機上的 Source 文件。因為 TFTP 協議不支持用戶身份驗證,所以用戶必須登錄到遠程計算機,同時文件在遠程計算機上必須可寫。
get
將遠程計算機上的 Destination 文件傳送到本地計算機上的 Source 文件。
Source
指定要傳送的文件。
Destination
指定將文件傳送到的位置。如果省略了 Destination,將假定它與 Source 同名。
/?
在命令提示符顯示幫助。
註釋
使用get參數
如果將本地計算機上的文件 FileTwo 傳送到遠程計算機上的文件 FileOne,則指定 put。如果將遠程計算機上的文件 FileTwo 傳送到遠程計算機上的文件 FileOne,則指定 get。
Windows XP 或 Windows 2000 不提供一般用途的 TFTP 伺服器。Windows 2000 提供的 TFTP 伺服器服務只為 Windows XP 和 Windows 2000 客戶端計算機提供遠程引導功能。
只有當網際協議 (TCP/IP) 協議在 網路連接中安裝為網路適配器屬性的組件時,該命令才可用。
範例
要從本地計算機將文件 Users.txt 傳送到遠程計算機 vax1 上的 Users19.txt,請鍵入:
tftp vax1 put users.txt users19.txt

化學名稱


硫醇(RSH)