<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學習啦 > 學習電腦 > 操作系統 > Linux教程 > linux命令ssh使用解析

        linux命令ssh使用解析

        時間: 志藝942 分享

        linux命令ssh使用解析

          SSH全稱Secure SHell,顧名思義就是非常安全的shell的意思,SSH協議是IETF(Internet Engineering Task Force)的Network Working Group所制定的一種協議。接下來是小編為大家收集的linux命令 ssh使用解析,歡迎大家閱讀:

          linux命令 ssh使用解析

          SSH的主要目的是用來取代傳統的telnet和R系列命令(rlogin,rsh,rexec等)遠程登陸和遠程執行命令的工具,實現對遠程登陸和遠程執行命令加密。防止由于網絡監聽而出現的密碼泄漏,對系統構成威脅。

          ssh協議目前有SSH1和SSH2,SSH2協議兼容SSH1。目前實現SSH1和SSH2協議的主要軟件有OpenSSH和SSH Communications Security Corporation 公司的SSH Communications 軟件。前者是OpenBSD組織開發的一款免費的SSH軟件,后者是商業軟件,因此在linux、FreeBSD、OpenBSD、NetBSD等免費類UNIX系統種,通暢都使用OpenSSH作為SSH協議的實現軟件。因此,本文重點介紹一下OpenSSH的使用。需要注意的是OpenSSH和SSH Communications的登陸公鑰/私鑰的格式是不同的,如果想用SSH Communications產生的私鑰/公鑰對來登入到使用OpenSSH的linux系統需要對公鑰/私鑰進行格式轉換。

          在出現SSH之前,系統管理員需要登入遠程服務器執行系統管理任務時,都是用telnet來實現的,telnet協議采用明文密碼傳送,在傳送過程中對數據也不加密,很容易被不懷好意的人在網絡上監聽到密碼。同樣,在SSH工具出現之前R系列命令也很流行(由于這些命令都以字母r開頭,故把這些命令合稱為R系列命令R是remote的意思),比如rexec是用來執行遠程服務器上的命令的,和telnet的區別是telnet需要先登陸遠程服務器再實行相關的命令,而R系列命令可以把登陸和執行命令并登出系統的操作整合在一起。這樣就不需要為在遠程服務器上執行一個命令而特地登陸服務器了。

          SSH是一種加密協議,不僅在登陸過程中對密碼進行加密傳送,而且對登陸后執行的命令的數據也進行加密,這樣即使別人在網絡上監聽并截獲了你的數據包,他也看不到其中的內容。OpenSSH已經是目前大多數linux和BSD操作系統(甚至cygwin)的標準組件,因此關于如何安裝OpenSSH本文就不再敘述了,如果不出意外,你的系統上必定已經安裝好了OpenSSH。

          OpenSSH軟件包包含以下命令:

          sshd ―― SSH服務端程序

          sftp-server ―― SFTP服務端程序(類似FTP但提供數據加密的一種協議)

          scp ―― 非交互式sftp-server的客戶端,用來向服務器上傳/下載文件

          sftp ―― 交互式sftp-server客戶端,用法和ftp命令一樣。

          slogin ―― ssh的別名

          ssh ―― SSH協議的客戶端程序,用來登入遠程系統或遠程執行命令

          ssh-add ―― SSH代理相關程序,用來向SSH代理添加dsa key

          ssh-agent ―― ssh代理程序

          ssh-keyscan ―― ssh public key 生成器

          SSH最常用的使用方式是代替telnet進行遠程登陸。不同于telnet的密碼登陸,SSH還同時支持Publickey、Keybord Interactive、GSSAPI等多種登入方式,不像telnet那樣只有輸入系統密碼一種途徑。目前最常用的登陸方式還是傳統的Password方式和Publickey方式登陸。下面以Redhat AS4為例,舉例說明這兩種登陸方式的用法。

          [root@mail ~]# ssh 172.18.6.227

          The authenticity of host '172.18.6.227 (172.18.6.227)' can't be established.

          RSA key fingerprint is 43:80:f2:e1:9b:b6:6e:c0:e2:dd:57:8f:ed:89:b3:81.

          Are you sure you want to continue connecting (yes/no)? yes

          Warning: Permanently added '172.18.6.227′ (RSA) to the list of known hosts.

          root@172.18.6.227‘s password:

          Last login: Thu Jul 12 18:47:47 2007 from 172.18.6.130

          [root@qmail ~]#

          第一次登陸后,ssh就會把登陸的ssh指紋存放在用戶home目錄的.ssh目錄的know_hosts文件中,如果遠程系統重裝過系統,ssh指紋已經改變,你需要把 .ssh 目錄下的know_hosts中的相應指紋刪除,再登陸回答yes,方可登陸。請注意.ssh目錄是開頭是”.”的隱藏目錄,需要ls –a參數才能看到。而且這個目錄的權限必須是700,并且用戶的home目錄也不能給其他用戶寫權限,否則ssh服務器會拒絕登陸。如果發生不能登陸的問題,請察看服務器上的日志文件/var/log/secure。通常能很快找到不能登陸的原因。

          ssh遠程執行命令:

          [root@mail ~]# ssh 172.18.6.227 ls -l /

          root@172.18.6.227‘s password:

          total 1244

          drwxr-xr-x 2 root root 4096 Jun 26 04:02 bin

          drwxr-xr-x 4 root root 4096 Mar 29 11:17 boot

          drwxr-xr-x 2 root root 4096 Jan 25 11:26 command

          drwxr-xr-x 15 root root 4096 Jun 12 20:09 data

          drwxr-xr-x 9 root root 5360 Jul 2 13:38 dev

          drwxr-xr-x 87 root root 12288 Jul 11 04:02 etc

          drwxr-xr-x 20 root root 4096 Apr 10 10:54 home

          drwxr-xr-x 2 root root 4096 Aug 13 2004 initrd

          輸入正確的密碼后,ssh會鏈接遠程服務器的sshd服務器程序,然后執行遠程服務器上的

          ls –l /命令 ,并把輸入結果傳到本地服務器。相當于你先登陸到遠程服務器,然后再實行命令ls –l /,最后再登出服務器。需要提醒的是,如果你需要登陸服務器并執行不止一個命令,必須要把命令用單引號或雙引號引起來:

          ssh 172.18.6.227 “cd /root && ls “

          ssh的遠程實行命令的功能是用來代替原始的R系列命令的,在ssh出現之前系統管理員們不得不用rexec, rsh等不安全的遠程執行命令工具來完成同樣的操作。這個功能在管理大批機器的時候是非常有用的,比如我要重啟10.0.0.0/24網段內所有的服務器,只要輸入一條命令:

          for i in $(seq 1 254) ; do ssh 10.0.0.${i} reboot ; done

          就可以完成重啟所有服務器的操作,也許你會說,這要雖然不需要再登陸每一臺服務器了,但是還是要每次輸入密碼,多麻煩啊。別急,下面要講的用ssh public key方式登陸就是要解決問題。

          采用public key登錄:

          openssh的ssh-keygen命令用來產生這樣的私鑰和公鑰。

          [root@mail ~]# ssh-keygen -b 1024 -t dsa -C gucuiwen@myserver.com

          Generating public/private dsa key pair.

          #提示正在生成,如果選擇4096長度,可能需要較長時間

          Enter file in which to save the key (/root/.ssh/id_dsa):

          #詢問把公鑰和私鑰放在那里,回車用默認位置即可

          Enter passphrase (empty for no passphrase):

          #詢問輸入私鑰密語,為了實現自動登陸,應該不要密語,直接回車

          Enter same passphrase again:

          #再次提示輸入密語,再次直接回車

          Your identification has been saved in /root/.ssh/id_dsa.

          Your public key has been saved in /root/.ssh/id_dsa.pub.

          #提示公鑰和私鑰已經存放在/root/.ssh/目錄下

          The key fingerprint is:

          71:e5:cb:15:d3:8c:05:ed:05:84:85:32:ce:b1:31:ce gucuiwen@myserver.com

          #提示key的指紋

          說明:

          -b 1024 采用長度為1024字節的公鑰/私鑰對,最長4096字節,一般1024或2048就可以了,太長的話加密解密需要的時間也長。

          -t dsa  采用dsa加密方式的公鑰/私鑰對,除了dsa還有rsa方式,rsa方式最短不能小于768字節長度。

          -C gucuiwen@myserver.com 對這個公鑰/私鑰對的一個注釋和說明,一般用所有人的郵件代替。可以省略不寫,更多其他參數請man ssh-keygen。

          [root@mail ~]# ls -l /root/.ssh

          total 16

          -rw——- 1 root root 668 Jul 12 20:07 id_dsa

          -rw-r–r– 1 root root 611 Jul 12 20:07 id_dsa.pub

          -rw-r–r– 1 root root 222 Jul 12 19:37 known_hosts

          產生的公鑰/私鑰文件在用戶home目錄的.ssh目錄下,其中id_dsa.pub是公鑰,把產生的公鑰上傳到需要登陸的服務器的對應用戶目錄的home目錄的.ssh目錄下,再一次強調用戶自己的目錄(home目錄)必須不能有其他人可寫的權限,.ssh目錄的權限必須是700,即除了用戶自己,其他人沒有任何讀寫察看該目錄的權限,否則ssh服務器會拒絕登陸。ssh默認的公鑰文件是用戶home目錄下的.ssh目錄下的authorized_keys文件,因此需要把產生的公鑰以這個文件名放到服務器的/root/.ssh/目錄下,這個文件中可以存放多個客戶端的公鑰文件,就好比一個大門上可以上很多鎖,可以有不同的鑰匙來嘗試開鎖,只要有一個鎖被打開了,門就可以打開了。放到服務器上應該是這樣子的:

          私鑰必須是600權限,否則ssh服務器會拒絕用戶登陸。

          大致就是這個樣子了。現把/etc/ssh/ssh_config 和 /etc/ssh/sshd_config的配置說下。

          /etc/ssh/ssh_config:

          Host *

          選項“Host”只對能夠匹配后面字串的計算機有效。“*”表示所有的計算機。

          ForwardAgent no

          “ForwardAgent”設置連接是否經過驗證代理(如果存在)轉發給遠程計算機。

          ForwardX11 no

          “ForwardX11”設置X11連接是否被自動重定向到安全的通道和顯示集(DISPLAY set)。

          RhostsAuthentication no

          “RhostsAuthentication”設置是否使用基于rhosts的安全驗證。

          RhostsRSAAuthentication no

          “RhostsRSAAuthentication”設置是否使用用RSA算法的基于rhosts的安全驗證。

          RSAAuthentication yes

          “RSAAuthentication”設置是否使用RSA算法進行安全驗證。

          PasswordAuthentication yes

          “PasswordAuthentication”設置是否使用口令驗證。

          FallBackToRsh no

          “FallBackToRsh”設置如果用ssh連接出現錯誤是否自動使用rsh。

          UseRsh no

          “UseRsh”設置是否在這臺計算機上使用“rlogin/rsh”。

          BatchMode no

          “BatchMode”如果設為“yes”,passphrase/password(交互式輸入口令)的提示將被禁止。當不能交互式輸入口令的時候,這個選項對腳本文件和批處理任務十分有用。

          CheckHostIP yes

          “CheckHostIP”設置ssh是否查看連接到服務器的主機的IP地址以防止DNS欺騙。建議設置為“yes”。

          StrictHostKeyChecking no

          “StrictHostKeyChecking”如果設置成“yes”,ssh就不會自動把計算機的密匙加入“$HOME/.ssh/known_hosts”文件,并且一旦計算機的密匙發生了變化,就拒絕連接。

          IdentityFile ~/.ssh/identity

          “IdentityFile”設置從哪個文件讀取用戶的RSA安全驗證標識。

          Port 22

          “Port”設置連接到遠程主機的端口。

          Cipher blowfish

          “Cipher”設置加密用的密碼。

          EscapeChar ~

          “EscapeChar”設置escape字符。

          /etc/ssh/sshd_config:

          Port 22

          “Port”設置sshd監聽的端口號。

          ListenAddress 192.168.1.1

          “ListenAddress”設置sshd服務器綁定的IP地址。

          HostKey /etc/ssh/ssh_host_key

          “HostKey”設置包含計算機私人密匙的文件。

          ServerKeyBits 1024

          “ServerKeyBits”定義服務器密匙的位數。

          LoginGraceTime 600

          “LoginGraceTime”設置如果用戶不能成功登錄,在切斷連接之前服務器需要等待的時間(以秒為單位)。

          KeyRegenerationInterval 3600

          “KeyRegenerationInterval”設置在多少秒之后自動重新生成服務器的密匙(如果使用密匙)。重新生成密匙是為了防止用盜用的密匙解密被截獲的信息。

          PermitRootLogin no

          “PermitRootLogin”設置root能不能用ssh登錄。這個選項一定不要設成“yes”。

          IgnoreRhosts yes

          “IgnoreRhosts”設置驗證的時候是否使用“rhosts”和“shosts”文件。

          IgnoreUserKnownHosts yes

          “IgnoreUserKnownHosts”設置ssh daemon是否在進行RhostsRSAAuthentication安全驗證的時候忽略用戶的“$HOME/.ssh/known_hosts”

          StrictModes yes

          “StrictModes”設置ssh在接收登錄請求之前是否檢查用戶家目錄和rhosts文件的權限和所有權。這通常是必要的,因為新手經常會把自己的目錄和文件設成任何人都有寫權限。

          X11Forwarding no

          “X11Forwarding”設置是否允許X11轉發。

          PrintMotd yes

          “PrintMotd”設置sshd是否在用戶登錄的時候顯示“/etc/motd”中的信息。

          SyslogFacility AUTH

          “SyslogFacility”設置在記錄來自sshd的消息的時候,是否給出“facility code”。

          LogLevel INFO

          “LogLevel”設置記錄sshd日志消息的層次。INFO是一個好的選擇。查看sshd的man幫助頁,已獲取更多的信息。

          RhostsAuthentication no

          “RhostsAuthentication”設置只用rhosts或“/etc/hosts.equiv”進行安全驗證是否已經足夠了。

          RhostsRSAAuthentication no

          “RhostsRSA”設置是否允許用rhosts或“/etc/hosts.equiv”加上RSA進行安全驗證。

          RSAAuthentication yes

          “RSAAuthentication”設置是否允許只有RSA安全驗證。

          PasswordAuthentication yes

          “PasswordAuthentication”設置是否允許口令驗證。

          PermitEmptyPasswords no

          “PermitEmptyPasswords”設置是否允許用口令為空的帳號登錄。

          AllowUsers admin

          “AllowUsers”的后面可以跟著任意的數量的用戶名的匹配串(patterns)或user@host這樣的匹配串,這些字符串用空格隔開。主機名可以是DNS名或IP地址。

          將SSH2兼容格式的公鑰轉換成為Openssh兼容格式

          ssh-keygen -i -f Identity.pub >> /root/.ssh/authorized_keys2

          
        看了“linux命令 ssh使用解析”還想看:

        1.LINUX操作系統SSH的使用方法

        2.linux指令scp指令詳解

        3.linux系統命令大全使用詳解

        4.炫酷的Linux終端命令大全

        2961378 主站蜘蛛池模板: 久久综合精品国产一区二区三区无 | 专干老肥熟女视频网站| 欧美激情视频二区三区| 激情内射人妻一区二区| 亚洲色www成人永久网址| 国产精品无码mv在线观看| 国产精品67人妻无码久久| 国产精品自拍午夜福利| 韩国一级毛片中文字幕| 综合无码一区二区三区四区五区| 亚洲尤码不卡av麻豆| 国产日韩久久免费影院| av天堂午夜精品一区| 国产成人人综合亚洲欧美丁香花| 美丽的姑娘在线观看免费| 国产精品人成视频免费国产 | 姝姝窝人体色WWW在线观看| 国产伦精区二区三区视频| 99久久免费只有精品国产| 无码精品国产VA在线观看DVD| 色综合中文字幕色综合激情| 亚洲AV成人无码精品电影在线| 四房播播在线电影| 国产精品一区二区人人爽| 天天爽夜夜爱| 亚洲国产成人AⅤ片在线观看| 国产福利高颜值在线观看| 精品无码久久久久成人漫画| 日韩有码中文在线观看| 国产精品综合av一区二区| 国产一区二区亚洲一区二区三区| 美日韩av一区二区三区| 亚洲成人av日韩在线| 亚洲精品久久区二区三区蜜桃臀| 亚洲丶国产丶欧美一区二区三区| 把腿张开ji巴cao死你h| 成人国产精品日本在线观看| jizzjizz日本高潮喷水| 亚洲熟妇自偷自拍另类| 美日韩不卡一区二区三区| 婷婷六月天在线|