【轉】Ubuntu環境下SSH的安裝及使用

來源:互聯網
上載者:User

標籤:

原文網址:http://blog.csdn.net/netwalk/article/details/12952051



SSH是指Secure Shell,是一種安全的傳輸協議,Ubuntu用戶端可以通過SSH訪問遠程伺服器 。SSH的簡介和工作機制可參看上篇文章 SSH簡介及工作機制。

SSH分用戶端openssh-client和openssh-server

如果你只是想登陸別的機器的SSH只需要安裝openssh-client(ubuntu有預設安裝,如果沒有則sudoapt-get install openssh-client),如果要使本機開放SSH服務就需要安裝openssh-server。

一、 安裝用戶端

Ubuntu預設已經安裝了ssh client。

sudo apt-get install ssh  或者 sudo apt-get installopenssh-client

 ssh-keygen 

(按斷行符號設定預設值)

按預設產生id_rsa和id_rsa.pub檔案,分別是私密金鑰和公開金鑰。

說明:如果sudo apt-get insall ssh出錯,無法安裝可使用sudo apt-get install openssh-client進行安裝。

 

假定伺服器ip為192.168.1.1,ssh服務的連接埠號碼為22,伺服器上有個使用者為root;

用ssh登入伺服器的命令為:

>ssh –p 22 [email protected]

>輸入root使用者的密碼

 

二、安裝服務端

Ubuntu預設沒有安裝SSH Server,使用以下命令安裝:

sudo apt-get install openssh-server

然後確認sshserver是否啟動了:(或用“netstat -tlp”命令)

ps -e|grep ssh

如果只有ssh-agent那ssh-server還沒有啟動,需要/etc/init.d/ssh start,如果看到sshd那說明ssh-server已經啟動了。 

如果沒有則可以這樣啟動:

sudo/etc/init.d/ssh start

  事實上如果沒什麼特別需求,到這裡 OpenSSH Server 就算安裝好了。但是進一步設定一下,可以讓 OpenSSH 登入時間更短,並且更加安全。這一切都是通過修改 openssh 的設定檔 sshd_config 實現的。

 

三、SSH配置

ssh-server設定檔位於/etc/ssh/sshd_config,在這裡可以定義SSH的服務連接埠,預設連接埠是22,你可以自己定義成其他連接埠號碼,如222。然後重啟SSH服務:

 

[html] view plaincopy 
  1. sudo /etc/init.d/sshresart  
通過修改設定檔/etc/ssh/sshd_config,可以改ssh登入連接埠和禁止root登入。改連接埠可以防止被連接埠掃描。

 

 

[html] view plaincopy 
  1. sudo cp/etc/ssh/sshd_config /etc/ssh/sshd_config.original  
  2. sudochmod a-w /etc/ssh/sshd_config.original  

 

編輯設定檔:

 

[html] view plaincopy 
  1. gedit /etc/ssh/sshd_config  

找到#Port 22,去掉注釋,修改成一個五位的連接埠:

Port 22333

找到#PermitRootLogin yes,去掉注釋,修改為:

PermitRootLogin no

配置完成後重起:

 

[html] view plaincopy 
  1. sudo/etc/init.d/ssh restart  
[html] view plaincopy 
  1.   

 

四、SSH服務命令

停止服務:sudo /etc/init.d/ssh stop

啟動服務:sudo /etc/init.d/ssh start

重啟服務:sudo /etc/init.d/sshresart

中斷連線:exit

登入:ssh[email protected] 

                root為192.168.0.100機器上的使用者,需要輸入密碼。

 

五、SSH登入命令

常用格式:ssh [-llogin_name] [-p port] [[email protected]]hostname

更詳細的可以用ssh -h查看。

舉例

不指定使用者:

 

[html] view plaincopy 
  1. ssh 192.168.0.1  

 

 

指定使用者:

 

[html] view plaincopy 
  1. ssh -l root 192.168.0.1  
  2. ssh [email protected]   

 

如果修改過ssh登入連接埠的可以:

 

[html] view plaincopy 
  1. ssh -p 22333 192.168.0.111  
  2. ssh -l root -p 22333 216.230.230.105  
  3. ssh -p 22333 [email protected]  

 

 

六、提高登入速度

  在遠程登入的時候可能會發現,在輸入完使用者名稱後需要等很長一段時間才會提示輸入密碼。其實這是由於 sshd 需要反查用戶端的 dns 資訊導致的。可以通過禁用這個特性來大幅提高登入的速度。首先,開啟 sshd_config 檔案:

 

[html] view plaincopy 
  1. sudo nano /etc/ssh/sshd_config  


  找到 GSSAPI options 這一節,將下面兩行注釋掉:

 

  #GSSAPIAuthentication yes #GSSAPIDelegateCredentials no然後重新啟動 ssh 服務即可:

 

[html] view plaincopy 
  1. sudo /etc/init.d/ssh restart  

 

  再登入試試,應該非常快了吧

 

 

七、利用 PuTTy 通過認證認證登入伺服器

  SSH 服務中,所有的內容都是加密傳輸的,安全性基本有保證。但是如果能使用認證認證的話,安全性將會更上一層樓,而且經過一定的設定,還能實現認證認證自動登入的效果。

  首先修改 sshd_config 檔案,開啟認證認證選項:

  RSAAuthentication yes PubkeyAuthentication yesAuthorizedKeysFile %h/.ssh/authorized_keys修改完成後重新啟動 ssh 服務。

  下一步我們需要為 SSH 使用者建立私密金鑰和公開金鑰。首先要登入到需要建立密鑰的賬戶下,這裡注意退出 root 使用者,需要的話用 su 命令切換到其它使用者下。然後運行:

 

[html] view plaincopy 
  1. ssh-keygen  


  這裡,我們將產生的 key 存放在預設目錄下即可。建立的過程中會提示輸入 passphrase,這相當於給認證加個密碼,也是提高安全性的措施,這樣即使認證不小心被人拷走也不怕了。當然如果這個留空的話,後面即可實現 PuTTy 通過認證認證的自動登入。

 

  ssh-keygen 命令會產生兩個密鑰,首先我們需要將公開金鑰改名留在伺服器上:

 

[html] view plaincopy 
  1. cd ~/.ssh mv id_rsa.pub authorized_keys  


        然後將私密金鑰 id_rsa 從伺服器上複製出來,並刪除掉伺服器上的 id_rsa 檔案。

 

  伺服器上的設定就做完了,下面的步驟需要在用戶端電腦上來做。首先,我們需要將 id_rsa 檔案轉化為 PuTTy 支援的格式。這裡我們需要利用 PuTTyGEN 這個工具:

  點擊 PuTTyGen 介面中的 Load 按鈕,選擇 id_rsa 檔案,輸入 passphrase(如果有的話),然後再點擊 Save PrivateKey 按鈕,這樣 PuTTy 接受的私密金鑰就做好了。

  開啟 PuTTy,在 Session 中輸入伺服器的 IP 位址,在 Connection->SSH->Auth 下點擊 Browse 按鈕,選擇剛才產生好的私密金鑰。然後回到 Connection 選項,在 Auto-login username 中輸入認證所屬的使用者名稱。回到 Session 選項卡,輸入個名字點 Save 儲存下這個 Session。點擊底部的 Open 應該就可以通過認證認證登入到伺服器了。如果有 passphrase 的話,登入過程中會要求輸入 passphrase,否則將會直接登入到伺服器上,非常的方便。 

【轉】Ubuntu環境下SSH的安裝及使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.