網上有不少介紹在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 」命令)ssh
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,不然將會直接登陸到服務器上,很是的方便。.net
Xming+PuTTY在Windows下遠程Linux主機使用圖形界面的程序rest
1、原理
Linux/Unix的X Window具備網絡透明性。X Window系統裏有一個統一的Server來負責各個程序與顯示器、鍵盤和鼠標等輸入輸出設備的交互,每一個有GUI的應用程序都經過網絡協議與 Server進行交互。因此對於任何一個應用程序,本地運行和遠程運行的差異僅僅是X Server的地址不一樣,別的沒有差異。因此在Windows運行一個X Server,就能夠很方便的遠程運行有GUI的Linux應用了。同時,OpenSSH具備X轉發功能,能夠將Linux主機的X程序經過SSH的管道 轉發給客戶端。因而,經過PuTTY到主機,再將接收到的由主機轉發來的X程序的交互交給在本地Windows系統下運行的X Server來管理和顯示,原則上說,這就能夠實現遠程使用Linux的GUI程序。
主機上須要的配置:
#vi /etc/ssh/sshd_config
取消這一行的註釋——若是沒有這一行則手動添加之:
X11Forwrding yes
這樣配置的做用就是容許SSH的X轉發。其實本質上說,這樣作是有必定安全風險的,SSH並不能絕對的保證你數據的安全性,不過,通常狀況下,這也夠了。
2、安裝Xming
須要在本地Windows上運行一個X Server。選擇有不少:Cygwin下的X Server恐怕是最著名的,可是爲了這麼一個小小的事情去安裝一個「相對巨大」的Cygwin,彷佛有些誇張;除了Cygwin,還有兩個著名的商業軟 件能夠選用,Xwin32和Xmanager,上學期IC實驗用的就是Xmanager,感受很流暢很好用,不過,雖然Xmanager能夠試用,可是終 究仍是商業軟件;還有一個選擇,就是這裏要講的,開源軟件Xming。
Xming是一個配置簡單而功能強大的開源X Server,能夠運行在M$的XP/2003/Vista操做系統下。
Xming的主頁:http://www.straightrunning.com/XmingNotes/
Xming的SourceForge頁面:http://sourceforge.net/projects/xming/
從SourceForge下載Xming-setup.exe(最新的版本是6.9.0.31),在本地安裝。
第一次運行時使用開始菜單裏面的XLaunch來啓動,產生一個初始的配置文件。對於簡單的使用來講,不須要任何特殊的配置,一切使用默認便可。Xming的具體配置和使用能夠參考Xming的Manual。
須要記住的是下圖中標示出的「Display number」中的數字,此處使用默認的0
啓動完成後,在托盤區會出現一個「X」形狀的圖標,這表示Xming已經在運行了,將鼠標懸停上去,能看到當前使用的「Display number」。
3、配置PuTTY
Windows下有不少支持SSH/Telnet等遠程登陸協議的客戶端,好比SecureCRT、XShell、PuTTY等,甚至你們用來登陸BBS灌水用的FTerm都帶有SSH的功能,只不過不如PuTTY這樣的軟件專業和強大罷了。
我用的是著名的免費的PuTTY,相信不少人的選擇也跟我同樣。所以,就再也不贅述PuTTY的配置和使用了。這裏要說的,是添加PuTTY對X轉 發的支持。運行PuTTY,在配置界面,選擇「Connection-SSh-X11」,選中「Enable X11forwarding」,「X display location」中填上上一步中「Display number」中的數字(此處就是「localhost:0」)。
而後鏈接登陸遠程主機,看上去一切正常的樣子。
4、問題及解決之道
因而試着運行一下vbox