1. 程式人生 > >linux ssh/telnet遠端登陸及免密設定

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”這樣的方式登入。