linux ssh/telnet遠端登陸及免密設定
遠端控制命令
********◇ telnet命令
○ 命令說明:用於遠端登入。執行telnet指令開啟終端機階段作業,並登入遠端主機。
○ 命令語法:telnet [-8acdEfFKLrx][-b<主機別名>][-e<脫離字元>][-k<域名>][-l<使用者名稱稱>][-n<記錄檔案>][-S<服務型別>][-X<認證形態>][主機名稱或IP地址<通訊埠>]
○ 引數說明:
● -8 允許使用8位字元資料,包括輸入與輸出。
● -a 嘗試自動登入遠端系統。
● -b<主機別名> 使用別名指定遠端主機名稱。
● -c 不讀取使用者專屬目錄裡的.telnetrc檔案。
● -d 啟動排錯模式。
● -e<脫離字元> 設定脫離字元。
● -E 濾除脫離字元。
● -f 此引數的效果和指定"-F"引數相同。
● -F 使用Kerberos V5認證時,加此引數可把本地主機的認證資料上傳到遠端主機。
● -k<域名> 使用Kerberos認證時,加上此引數讓遠端主機採用指定的領域名,而非該主機的域名。
● -K 不自動登入遠端主機。
● -l<使用者名稱稱> 指定要登入遠端主機的使用者名稱稱。
● -L 允許輸出8位字元資料。
● -n<記錄檔案> 指定檔案記錄相關資訊。
● -r 使用類似rlogin指令的使用者介面。
● -S<服務型別> 設定telnet連線所需的IP TOS資訊。
● -x 假設主機有支援資料加密的功能,就使用它。
● -X<認證形態> 關閉指定的認證形態。
※ 練習:登入遠端主機
# telnet 192.168.0.5
//登入IP為192.168.0.5的遠端主機,執行該命令後需要輸入使用者名稱和密
******* ◇ ssh命令
○ 命令說明:用於遠端登入。執行ssh指令開啟終端機階段作業,並登入遠端主機。
○ 命令語法:ssh 使用者名稱@IP,執行該命令後需要輸入密碼
○ 和ssh相關的遠端拷貝命令scp:
● 命令說明:進行遠端拷貝
● 命令語法:scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[[email protected]]host1:]file1 [...] [[[email protected]]host2:]file2
● 簡易寫法:scp [option(s)] source destination
● 引數說明:
∵ -1: 強制scp命令使用協議ssh1
∵ -2: 強制scp命令使用協議ssh2
∵ -4: 強制scp命令只使用IPv4定址
∵ -6: 強制scp命令只使用IPv6定址
∵ -B: 使用批處理模式(傳輸過程中不詢問傳輸口令或短語)
∵ -C: 允許壓縮。(將-C標誌傳遞給ssh,從而開啟壓縮功能)
∵ -p:保留原檔案的修改時間,訪問時間和訪問許可權。
∵ -q: 不顯示傳輸進度條。
∵ -r: 遞迴複製整個目錄。
∵ -v:詳細方式顯示輸出。scp和ssh(1)會顯示出整個過程的除錯資訊。這些資訊用於除錯連線,驗證和配置問題。
∵ -c cipher:以cipher將資料傳輸進行加密,這個選項將直接傳遞給ssh。
∵ -F ssh_config:指定一個替代的ssh配置檔案,此引數直接傳遞給ssh。
∵ -i identity_file:從指定檔案讀取傳輸時使用的金鑰檔案,此引數傳遞給ssh。
∵ -l limit: 限定使用者所能使用的頻寬,以Kbit/s為單位。
∵ -o ssh_option: 如果習慣於使用ssh_config(5)中的引數傳遞方式,
∵ -P port:注意是大寫的P, port是指定資料傳輸用到的埠號
∵ -S program:指定加密傳輸時所使用的程式。此程式必須能夠理解ssh的選項。
○ 配置ssh免密碼登入:
● 前提條件:進行SSH免密登入的前提條件是兩臺機器的使用者名稱相同。例如有A、B兩臺機器,這兩臺機器上都有一個使用者名稱同為briup的使用者。現在的需求是在A機器上通過免密(不輸入密碼,即免密)方式登入B機器。
● 第一步:分別在A和B機器上使用命令“ssh-keygen”生成公鑰和私鑰。
執行該命令之後會在briup使用者的家目錄下生成“.ssh/”目錄和在該“.ssh/”目錄下生成公鑰“id_rsa.pub”檔案和私鑰“id_rsa”檔案。
注意:公鑰用來加密,私鑰用來解密。
● 第二步:將A機器上的briup使用者家目錄下的.ssh/目錄下的id_rsa.pub拷貝到B機器的briup使用者的家目錄下(注意是家目錄,不是.ssh目錄)。
命令:scp /home/briup/.ssh/id_rsa.pub [email protected]:~
命令說明:將上述命令中的“B”更換為具體的主機名或者是IP。注意是拷貝到B機器上的briup使用者的家目錄,不是“.ssh”目錄。
● 第三步:在B機器上,將剛剛從A機器上拷貝過來的“id_rsa.pub”(即B機器briup使用者家目錄下的“id_rsa.pub”)的內容複製到B機器上的briup家目錄下的“.ssh”目錄下的“authorized_keys”檔案中。
命令:cat /home/briup/id_rsa.pub >> /home/briup/.ssh/authorized_keys
命令說明:上述命令是在B機器上執行
● 第四步:更改第三步執行命令所生成的“authorized_keys”檔案的操作許可權為600.
命令:chmod 600 /home/briup/.ssh/authorized_keys
命令說明:上述命令在B機器上執行
● 第五步:在A機器上通過無密碼登入B機器。
命令:ssh B
命令說明:上述命令在B機器上執行,將“B”更換為具體的主機名或IP地址。
● 額外說明:在使用SSH工具進行遠端登入的時候,如果登入的兩個機器的使用者名稱相同,可以直接使用命令“ssh 主機名/IP”來遠端登入,而不需要輸入使用者名稱,即不需要以“ssh [email protected]主機名/IP”這樣的方式登入。