標籤:
轉自:http://blog.csdn.net/zxs9999/article/details/6930736
Ubuntu安裝使用SSH
ubuntu預設並沒有安裝ssh服務,如果通過ssh連結ubuntu,需要自己手動安裝ssh-server。判斷是否安裝ssh服務,可以通過如下命令進行:
- xjj@xjj-desktop:~$ ssh localhost
- ssh: connect to host localhost port 22: Connection refused
如上所示,表示沒有還沒有安裝,可以通過apt安裝,命令如下:
- xjj@xjj-desktop:~$ sudo apt-get install openssh-server
系統將自動進行安裝,安裝完成以後,先啟動服務:
- xjj@xjj-desktop:~$ sudo /etc/init.d/ssh start
啟動後,可以通過如下命令查看服務是否正確啟動
- xjj@xjj-desktop:~$ ps -e|grep ssh
- 6212 ? 00:00:00 sshd
如上表示啟動ok。注意,ssh預設的連接埠是22,可以更改連接埠,更改後先stop,
然後start就可以了。改配置在/etc/ssh/sshd_config下,如下所示。
- xjj@xjj-desktop:~$ vi /etc/ssh/sshd_config
- # Package generated configuration file
- # See the sshd(8) manpage for details
- # What ports, IPs and protocols we listen for
- Port 22
最後,應該是串連的時候了。請看如下命令:
- xjj@xjj-desktop:~$ ssh exceljava@192.168.158.129
========================================================
Red Hat Linux上安裝使用SSH
一、安裝與啟動SSH
在Red Hat Linux上的發行版本中大多已經包含了與OpenSSH相關的軟體包,如果沒有,則可以OpenSSH的首頁下載RPM包自行安裝,OpenSSH的首頁是地址是: www.openssh.com。主要安裝如下幾個包:
- openssh-3.5p1-6、openssh-server-3.5p1-6
- openssh-askpass-gnome-3.5p1-6
- openssh-clients-3.5p1-6
- openssh-askpass-3.5p1-6
使用如下命令進行安裝:
首先查詢系統是否安裝了上述軟體包。
- # pm -qa |grep openssh
如果沒有安裝則執行如下命令。
- # rpm -ivh openssh-3.5p1-6
- # rpm -ivh openssh-server-3.5p1-6
- # rpm -ivh openssh-askpass-gnome-3.5p1-6
- # rpm -ivh openssh-clients-3.5p1-6
- # rpm -ivh openssh-askpass-3.5p1-6
安裝完成之後,可以使用下述兩個命令中的任一個進行啟動。
- # service sshd start
- # /etc/rc.d/init.d/sshd start
另外,如果想在系統啟動時就自動運行該服務,那麼需要使用setup命令,在system service的選項中,選中sshd守護進程即可。
安裝啟動完OpenSSH之後,用下面命令測試一下。
- # ssh -l [username] [address of the remote host]
說明:
- [username] 為遠程主機的使用者名稱
- [address of the remote host] 為遠程主機的地址
如果OpenSSH工作正常,將會看到下面的提示資訊:
The authenticity of host [hostname] can‘t be established.
Key fingerprint is 1024 5f:a0:0b:65:d3:82:df:ab:44:62:6d:98:9c:fe:e9:52.
Are you sure you want to continue connecting (yes/no)?
在第一次登入的時候,OpenSSH將會提示使用者它不知道這台登入的主機,只要鍵入“yes”,就會把這台登入主機的“識別標記”加到“~/.ssh/know_hosts”檔案中。第二次訪問這台主機的時候就不會再顯示這條提示資訊了。然後,SSH提示使用者輸入遠程主機上使用者帳號的口令。這樣,就建立了SSH串連,這之後就可以象使用telnet那樣方便地使用SSH了。
二、SSH的密匙管理
1.產生使用者自己的密匙對
用下面的命令可以產生公開金鑰/私密金鑰對:
- # ssh-keygen t 類型
。
如果遠程主機使用的是SSH 2.x就要用這個命令:
- # ssh-keygen d
。
在同一台主機上同時有SSH1和SSH2的密匙是沒有問題的,因為密匙是存在不同檔案中的。ssh-keygen命令運行之後會顯示下面的資訊:
- # ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/.username/ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/.username /.ssh/id_rsa.
Your public key has been saved in /home/.username /.ssh/id_rsa.pub.
The key fingerprint is:
38:25:c1:4d:5d:d3:89:bb:46:67:bf:52:af:c3:17:0c [email protected]
Generating RSA keys:
Key generation complete.
“ssh-keygen -d”命令做的是同樣的工作,但是它的一對密匙的儲存路徑預設情況下為: /home/[user]/.ssh/id_dsa(私人密匙)和/home/[user]/.ssh/id_dsa.pub(公用密匙)。現在使用者有一對密匙了: 公用密匙要分發到所有使用者想用SSH登入的遠程主機上去; 私人密匙要好好地保管防止別人知道。用“
- # ls -l ~/.ssh/identity”或“# ls -l ~/.ssh/id_dsa”
命令所顯示的檔案的存取權限必須是“-rw-------”。
如果使用者懷疑自己的密匙已經被別人知道了,應當馬上產生一對新的密匙。當然,這樣做之後還需要重新分發一次公用密匙,才能正常使用。
2.分發公用密匙
在每一個使用者需要用SSH串連的遠程伺服器上,都要在自己的主目錄下建立一個“.ssh”的子目錄,把使用者的公用密匙“identity.pub”拷貝到這個目錄下並把它重新命名為“authorized_keys”。然後執行命令:
- # chmod 644 .ssh/authorized_keys
這一步是必不可少的。因為,如果除了使用者之外別人對“authorized_keys”檔案也有寫的許可權,那麼如果遭到非法的破壞,SSH就不能正常工作。
如果使用者想從不同的電腦登入到遠程主機,“authorized_ keys”檔案也可以有多個公用密匙。在這種情況下,必須在新的電腦上重建一對密匙,然後把產生的“identify.pub”檔案拷貝並粘貼到遠程主機的“authorized_keys”檔案裡。當然,在新的電腦上使用者必須有一個帳號,而且密匙是用口令保護的。有一點很重要,就是當使用者取消了這個帳號之後,必須記住把這一對密匙刪掉。
三、配置SSH的用戶端
在Linux用戶端下使用SSH,優點是操作更方便,無須其他軟體。但缺點是不太直觀。使用者只需要使用系統提供的預設的設定檔“/etc/ssh/ssh_config”,並且使用如下簡單的命令即可登入:
// 以使用者test登入遠程伺服器www.test.com
- # ssh -l test www.test.com
下面主要介紹配置使用Windows環境下的putty工具來登入SSH伺服器。該工具目前使用得相當普遍,可以從網上免費下載。目前網上的最新版本為: putty 0.58,對該版本進行安裝後,進行如下步驟的配置:
- 開啟該軟體,進入配置介面,軟體初始自動開啟Session視窗。
- 在該介面的右半地區的【Host Name(or IP address)】編輯框中輸入所要遠程登入的伺服器位址,這裡設定為: 192.168.10.1,連接埠編輯框中輸入預設的連接埠號碼22,然後單擊【Save】按鈕,儲存輸入配置,1所示。
圖1 配置IP地址及連接埠號碼
- 單擊【Open】按鈕,該軟體串連伺服器,顯示串連結果,使用者就可以進行相應的遠端管理操作了。
四、配置SSH的自動登入
在上面介紹的SSH的使用過程中,使用者每次登入伺服器都需要輸入密碼,這對於使用者來說未免有些麻煩。由於SSH充分使用了密鑰機制,那麼就可以通過一定的系統配置,而達到一次配置,以後都不用輸入密碼,方便登入的目的,下面以Windows的用戶端為例,說明如何對SSH的自動登入進行配置。
在Windows下,使用前面介紹的用戶端軟體putty同樣可以方便地實現自動登入,主要是使用putty工具套件內建的puttygen工具,來產生公開金鑰/私密金鑰對來實現,原理與Linux下相同,下面介紹一下配置細節。
1.開啟puttygen工具,準備產生公開金鑰/私密金鑰對,2所示,選擇產生SSH2 RSA的密鑰類型。
圖2 PuttygenGenerator主介面
2.單擊【Generate】按鈕,則進入公開金鑰/私密金鑰產生介面,使用者需要在介面空白處不斷地移動滑鼠,以保證鑰匙產生的隨機效能。
3.成功產生公開金鑰/私密金鑰後,系統提示使用者儲存公開金鑰/私密金鑰對。單擊【Save public key】按鈕以及【Save private key】按鈕,分別指定路徑儲存公開金鑰以及私密金鑰。
4.使用putty串連上伺服器後,將公開金鑰檔案的內容拷貝到伺服器的相應主目錄下,用自己的帳號登入遠程系統,然後執行下面的命令。此時用記事本開啟 id_rsa1.pub 檔案,選中所有內容,按Ctrl+C複製到剪貼簿中,然後在Putty視窗中按Shift+Ins粘貼,再按Ctrl+D鍵,完成檔案的建立。這是完成公開金鑰分發的過程。
- # cd ~
-
- # mkdir .ssh
-
- # cd .ssh
-
- # cat > authorized_keys
5.再次使用putty串連伺服器,則可以自動登入,而不需要使用者輸入密碼。
通過上述安裝、配置及使用,使用者可以放心、安全地使用SSH軟體在Linux下進行資料轉送。SSH軟體的功能非常強大,除了本文講述的內容之外,還有設定“秘密通道”,scp命令的使用等功能,有興趣的讀者可以參看相關資料,以獲得更加安全、方便的使用效果。
五、通過WinSCP訪問linux
- 下載一個WinSCP,下載後安裝、運行
- 其實和putty差不多Host name填入主機ip,User name填入使用者名稱, Password填入密碼,先點save按鈕儲存後再login按鈕進入即可
六、ssh配置
ssh設定檔目錄:/etc/ssh/sshd_config
- Port 22 ssh預設的連接埠,可以重複使用Port定義多個連接埠
- Protocol 2 ssh的協定版本,可以是2或1
- ListenAddress 0.0.0.0 ssh監聽地址預設為全部監聽
- PermitRootLogin on 是否允許以root使用者登陸,預設是允許yes,
- UserLogin on 在ssh下是否接受login登陸
七、用sftp登入伺服器
用sftp登入伺服器的命令為:
- # sftp -oPort=22 sshuser@61.145.34.33
- oPort 連接埠號碼
- [email protected] 使用者名稱@ip
斷行符號後,輸入伺服器sshuser的密碼登入,然後會顯示一個sftp>的環境,這個時候,鍵入help你會看到所有命令的協助,跟ftp命令列工具非常類似,比如get,put等等。
原帖 http://www.javaeye.com/topic/212750
Linux上安裝使用SSH(ubuntu&&redhat)