rsh

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

基本介紹

  • 中文名:遠程 shell)
  • 外文名:emote shell
  • 簡稱:rsh
  • rsh 的格式:rsh host [command ]
rsh簡介,rsh 的格式,一般常用的格式,rsh命令中各選項的含義如下,rsh配置過程,安裝前準備,確認機器ahost是否安裝rsh包,確認是否啟動rsh 服務,配置rsh server,測試和注意的問題,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)

相關詞條

熱門詞條

聯絡我們