通常來講若是用Ubuntu做爲服務器,咱們常常須要經過其餘客戶端遠程鏈接它。windows
遠程鏈接須要使用SSH,這裏列出了一個快速完成這一任務的方法。安全
鍵入命令服務器
# sudo apt-get install openssh-server openssh-clientssh
通常來講這一步會很快下載並安裝好ssh的服務,並且安裝完成後默認會自動啓動的,若是沒有啓動,能夠經過命令工具
service ssh start來啓動它。測試
啓動了ssh的服務以後,咱們就能夠從另一臺機器來鏈接了。加密
# ssh user@server--ipspa
若是要用windows遠程鏈接它,則須要安裝一個工具,例如SSH Secure Shell或者Putty之類的。rest
----------------------------------server
安裝和設置 OpenSSH Server
Ubuntu 下安裝 OpenSSH Server 是無比輕鬆的一件事情,須要的命令只有一條:
sudo apt-get install openssh-server
隨後,Ubuntu 會自動下載並安裝 openssh server,並一併解決全部的依賴關係。當您完成這一操做後,您能夠找另外一臺計算機,而後使用一個 SSH 客戶端軟件(強烈推薦 PuTTy),輸入您服務器的 IP 地址。若是一切正常的話,等一下子就能夠鏈接上了。而且使用現有的用戶名和密碼應該就能夠登陸了。
事實上若是沒什麼特別需求,到這裏 OpenSSH Server 就算安裝好了。可是進一步設置一下,可讓 OpenSSH 登陸時間更短,而且更加安全。這一切都是經過修改 openssh 的配置文件 sshd_config 實現的。
首先,您剛纔實驗遠程登陸的時候可能會發現,在輸入完用戶名後須要等很長一段時間纔會提示輸入密碼。其實這是因爲 sshd 須要反查客戶端的 dns 信息致使的。咱們能夠經過禁用這個特性來大幅提升登陸的速度。首先,打開 sshd_config 文件:
sudo nano /etc/ssh/sshd_config
找到 GSSAPI options 這一節,將下面兩行註釋掉:
#GSSAPIAuthentication yes而後從新啓動 ssh 服務便可:
sudo /etc/init.d/ssh restart
再登陸試試,應該很是快了吧
利用 PuTTy 經過證書認證登陸服務器SSH 服務中,全部的內容都是加密傳輸的,安全性基本有保證。可是若是能使用證書認證的話,安全性將會更上一層樓,並且通過必定的設置,還能實現證書認證自動登陸的效果。
首先修改 sshd_config 文件,開啓證書認證選項:
RSAAuthentication yes修改完成後從新啓動 ssh 服務。
下一步咱們須要爲 SSH 用戶創建私鑰和公鑰。首先要登陸到須要創建密鑰的帳戶下,這裏注意退出 root 用戶,須要的話用 su 命令切換到其它用戶下。而後運行:
ssh-keygen
這裏,咱們將生成的 key 存放在默認目錄下便可。創建的過程當中會提示輸入 passphrase,這至關於給證書加個密碼,也是提升安全性的措施,這樣即便證書不當心被人拷走也不怕了。固然若是這個留空的話,後面便可實現 PuTTy 經過證書認證的自動登陸。
ssh-keygen 命令會生成兩個密鑰,首先咱們須要將公鑰更名留在服務器上:
cd ~/.sshmv 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服務的文章,但大多數介紹的方法測試後都不太理想,均不能實現遠程登陸到Ubuntu上,最後分析緣由是都沒有真正開啓ssh-server服務。最終成功的方法以下:
Ubuntu 下安裝 OpenSSH Server 是無比輕鬆的一件事情,須要的命令只有一條:
sudo apt-get install openssh-server
(查看返回的結果,若是沒有出錯,則用putty、SecureCRT、SSH Secure Shell Client等SSH 客戶端軟件,輸入您服務器的 IP 地址。若是一切正常的話,等一下子就能夠鏈接上了。而且使用現有的用戶名和密碼應該就能夠登陸了。)
而後確認sshserver是否啓動了:(或用「netstat -tlp」命令)
ps -e | grep ssh
若是隻有ssh-agent那ssh-server尚未啓動,須要/etc/init.d/ssh start,若是看到sshd那說明ssh-server已經啓動了。
ssh-server配置文件位於/ etc/ssh/sshd_config,在這裏能夠定義SSH的服務端口,默認端口是22,你能夠本身定義成其餘端口號,如222。而後重啓SSH服務:
sudo /etc/init.d/ssh resart
事實上若是沒什麼特別需求,到這裏 OpenSSH Server 就算安裝好了。可是進一步設置一下,可讓 OpenSSH 登陸時間更短,而且更加安全。這一切都是經過修改 openssh 的配置文件 sshd_config 實現的。 首先,您剛纔實驗遠程登陸的時候可能會發現,在輸入完用戶名後須要等很長一段時間纔會提示輸入密碼。其實這是因爲 sshd 須要反查客戶端的 dns 信息致使的。咱們能夠經過禁用這個特性來大幅提升登陸的速度。首先,打開 sshd_config 文件: sudo nano /etc/ssh/sshd_config 找到 GSSAPI options 這一節,將下面兩行註釋掉: #GSSAPIAuthentication yes #GSSAPIDelegateCredentials no而後從新啓動 ssh 服務便可: sudo /etc/init.d/ssh restart 再登陸試試,應該很是快了吧 利用 PuTTy 經過證書認證登陸服務器 SSH 服務中,全部的內容都是加密傳輸的,安全性基本有保證。可是若是能使用證書認證的話,安全性將會更上一層樓,並且通過必定的設置,還能實現證書認證自動登陸的效果。 首先修改 sshd_config 文件,開啓證書認證選項: RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys修改完成後從新啓動 ssh 服務。 下一步咱們須要爲 SSH 用戶創建私鑰和公鑰。首先要登陸到須要創建密鑰的帳戶下,這裏注意退出 root 用戶,須要的話用 su 命令切換到其它用戶下。而後運行: ssh-keygen 這裏,咱們將生成的 key 存放在默認目錄下便可。創建的過程當中會提示輸入 passphrase,這至關於給證書加個密碼,也是提升安全性的措施,這樣即便證書不當心被人拷走也不怕了。固然若是這個留空的話,後面便可實現 PuTTy 經過證書認證的自動登陸。 ssh-keygen 命令會生成兩個密鑰,首先咱們須要將公鑰更名留在服務器上: 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,不然將會直接登陸到服務器上,很是的方便。