網上有很多介紹在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,否則將會直接登錄到服務器上,非常的方便。
Xming+PuTTY在Windows下遠程Linux主機使用圖形界面的程序
一、原理
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並不能絕對的保證你數據的安全性,不過,一般情況下,這也夠了。
二、安裝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”。
三、配置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”)。
然后連接登錄遠程主機,看上去一切正常的樣子。
四、問題及解決之道
於是試着運行一下vbox