rsh

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

基本信息

rsh簡介

rsh 的格式

rsh命令的一般格式是:

rsh [-Kdnx] [-k realm] [-l username] host [command]

一般常用的格式

rsh host [command ]

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

rsh命令中各選項的含義如下

-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也就終止了。

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

確認機器ahost是否安裝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 的命令

在運行 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

指定二進制圖像傳送模式(也稱為八進制模式)。在二進制圖像模式下,檔案以一個位元組為單位進行傳輸。在傳送二進制檔案時使用該模式。如果省略了 -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)

相關詞條

相關搜尋

熱門詞條

聯絡我們