第一次使用SSH服務,由於沒有及時記錄開啓SSH服務的過程,在後來由於系統被我玩崩了,快照以前的系統,致使SSH沒法開啓,也忘記了如何開啓SSH服務,如今將開啓過程記錄以下,以便查看。linux
使用的的ubuntu16.0.4LTS系統。算法
在開啓服務以前,其實能夠不用考慮本機有沒有安裝SSH服務,直接安裝,可是爲了更好的瞭解過程,一步一步的去開啓更好。ubuntu
一、先試着開啓SSH服務安全
在使用SSH以前,能夠先檢查SSH服務有沒有開啓。使用命令:sudo ps -e | grep ssh來查看,若是返回的結果是「xxxx? 00:00:00 sshd」,表明服務開啓。那個四個x表明四位數字,每臺機數字不同的,如圖:服務器
若是沒有反應或者其餘結果,再試着開啓SSH服務。使用命令sudo /etc/init.d/ssh start來開啓服務,如圖:網絡
若是是圖中結果,說明沒有安裝SSH服務,此時須要安裝 SSH服務,爲了能提升安裝成功率,建議先更新源:sudo apt-get update更新安裝源,如圖:ssh
而後安裝SSH服務,使用命令:sudo apt-get install openssh-server。如圖:ide
等待安裝結束便可。而後再次查看服務有沒有啓動:sudo ps -e | grep ssh:工具
有sshd那個東西,說明服務啓動了,若是須要再次確認或者沒有圖中的結果,使用命令來啓動:sudo /etc/init.d/ssh start:測試
看到服務starting了,服務成功開啓。另外,還有幾條命令須要記住:
sudo service ssh status 查看服務狀態:
sudo service ssh stop 關閉服務:
sudo service ssh restart 重啓服務
以上是關於如何安裝並啓動服務的過程。
下面介紹使用ssh客戶端遠程登陸linux系統。本人使用的是win7,登陸虛擬機的ubuntu linux。
在查看ip以前,有個地方須要注意一下,當虛擬機設置的linux網絡鏈接方式是僅主機模式時,對應宿主機的虛擬網卡1:WMware Network Adapter VMnet1,
當虛擬機設置的是NAT模式時,對應宿主機的虛擬網卡8:WMware Network Adapter VMnet8,使用橋接模式時,是和宿主機同一個網卡。如圖:
知道了這些,當查看linux的ip後,把對應的宿主機虛擬網卡ip設置同一網段便可:
而後ping測試網絡是否暢通:
測試經過,而後使用SSH客戶端登遠程登陸linux。前提是已經下載好了ssh客戶端,我用的是putty:
我的感受這款工具體驗並不太好,但爲何我在使用,而且在使用以前還被它給教作人,費了老大勁,緣由是我就是跟它槓上了,我就不信搞不了它,因而最終我教它怎樣作一個乖乖的作一個遠程工具。
運行它:在 Host Name(or address)欄輸入遠程登陸的主機的ip,端口號默認22,通常仍是查一下,以前介紹的查看SSH服務時說了能夠查看服務狀態,裏面有端口號:
接着Connection type爲SSH,下面的Saved Sesssions填寫遠程登陸主機主機名就好,還有一個字體編碼,在左側欄window裏的Translation中Receives date……,下拉選擇utf-8。如圖:
設置好登陸。
第一次登陸可能會有以下提示:點擊是。
肯定之後可能仍是會鏈接失敗,或者無反應,此時關閉從新登陸,若是不行,多試幾遍。
正常狀況若是登陸成功,接下來會輸入遠程登陸主機的用戶名和密碼,linux的一個帳戶能夠多臺主機登陸。
如上圖,已經登陸成功了。此時就可使用遠程登陸工具操做linux了。
不過看到圖中仍是有亂碼,用鼠標在上圖界面的外邊框欄,就是非命令界面鼠標右鍵,找到Change
Settings,按照以前設置字體的方式再設置一遍就能夠解決。如圖:
關於SSH的配置文件補充
1 # Site-wide defaults for various options 2 Host * 3 ForwardAgent no 4 ForwardX11 no 5 RhostsAuthentication no 6 RhostsRSAAuthentication no 7 RSAAuthentication yes 8 PasswordAuthentication yes 9 FallBackToRsh no 10 UseRsh no 11 BatchMode no 12 CheckHostIP yes 13 StrictHostKeyChecking no 14 IdentityFile ~/.ssh/identity 15 Port 22 16 Cipher blowfish 17 EscapeChar ~
下面逐行說明上面的選項設置:
Host *
選項「Host」只對可以匹配後面字串的計算機有效。「*」表示全部的計算機。
ForwardAgent no
「ForwardAgent」設置鏈接是否通過驗證代理(若是存在)轉發給遠程計算機。
ForwardX11 no
「ForwardX11」設置X11鏈接是否被自動重定向到安全的通道和顯示集(DISPLAY set)。
RhostsAuthentication no
「RhostsAuthentication」設置是否使用基於rhosts的安全驗證。
RhostsRSAAuthentication no
「RhostsRSAAuthentication」設置是否使用用RSA算法的基於rhosts的安全驗證。
RSAAuthentication yes
「RSAAuthentication」設置是否使用RSA算法進行安全驗證。
PasswordAuthentication yes
「PasswordAuthentication」設置是否使用口令驗證。
FallBackToRsh no
「FallBackToRsh」設置若是用ssh鏈接出現錯誤是否自動使用rsh。
UseRsh no
「UseRsh」設置是否在這臺計算機上使用「rlogin/rsh」。
BatchMode no
「BatchMode」若是設爲「yes」,passphrase/password(交互式輸入口令)的提示將被禁止。當不能交互式輸入口令的時候,這個選項對腳本
文件和批處理任務十分有用。
CheckHostIP yes
「CheckHostIP」設置ssh是否查看鏈接到服務器的主機的IP地址以防止DNS欺騙。建議設置爲「yes」。
StrictHostKeyChecking no
「StrictHostKeyChecking」若是設置成「yes」,ssh就不會自動把計算機的密匙加入「$HOME/.ssh/known_hosts」文件,而且一旦計算機的密
匙發生了變化,就拒絕鏈接。
IdentityFile ~/.ssh/identity
「IdentityFile」設置從哪一個文件讀取用戶的RSA安全驗證標識。
Port 22
「Port」設置鏈接到遠程主機的端口。
Cipher blowfish
「Cipher」設置加密用的密碼。
EscapeChar ~
「EscapeChar」設置escape字符。
配置「/etc/ssh/sshd_config」文件
「/etc/ssh/sshd_config」是OpenSSH的配置文件,容許設置選項改變這個daemon的運行。這個文件的每一行包含「關鍵詞-值」的匹配,其中
「關鍵詞」是忽略大小寫的。下面列出來的是最重要的關鍵詞,用man命令查看幫助頁(sshd (8))能夠獲得詳細的列表。
下面是選項的能夠配置項:
1 # This is ssh server systemwide configuration file. 2 Port 22 3 ListenAddress 192.168.1.1 4 HostKey /etc/ssh/ssh_host_key 5 ServerKeyBits 1024 6 LoginGraceTime 600 7 KeyRegenerationInterval 3600 8 PermitRootLogin no 9 IgnoreRhosts yes 10 IgnoreUserKnownHosts yes 11 StrictModes yes 12 X11Forwarding no 13 PrintMotd yes 14 SyslogFacility AUTH 15 LogLevel INFO 16 RhostsAuthentication no 17 RhostsRSAAuthentication no 18 RSAAuthentication yes 19 PasswordAuthentication yes 20 PermitEmptyPasswords no 21 AllowUsers admin 22 23 24 25 26 27 28 29 30 下面逐行說明上面的選項設置: 31 32 Port 22 33 「Port」設置sshd監聽的端口號。 34 35 ListenAddress 192.168.1.1 36 「ListenAddress」設置sshd服務器綁定的IP地址。 37 38 HostKey /etc/ssh/ssh_host_key 39 40 「HostKey」設置包含計算機私人密匙的文件。 41 42 ServerKeyBits 1024 43 「ServerKeyBits」定義服務器密匙的位數。 44 45 LoginGraceTime 600 46 「LoginGraceTime」設置若是用戶不能成功登陸,在切斷鏈接以前服務器須要等待的時間(以秒爲單位)。 47 48 KeyRegenerationInterval 3600 49 「KeyRegenerationInterval」設置在多少秒以後自動從新生成服務器的密匙(若是使用密匙)。從新生成密匙是爲了防止用盜用的密匙解密被 50 51 截獲的信息。 52 53 PermitRootLogin no 54 「PermitRootLogin」設置root能不能用ssh登陸。這個選項必定不要設成「yes」。 55 56 IgnoreRhosts yes 57 「IgnoreRhosts」設置驗證的時候是否使用「rhosts」和「shosts」文件。 58 59 IgnoreUserKnownHosts yes 60 「IgnoreUserKnownHosts」設置ssh daemon是否在進行RhostsRSAAuthentication安全驗證的時候忽略用戶的「$HOME/.ssh/known_hosts」 61 62 StrictModes yes 63 「StrictModes」設置ssh在接收登陸請求以前是否檢查用戶家目錄和rhosts文件的權限和全部權。這一般是必要的,由於新手常常會把本身的 64 65 目錄和文件設成任何人都有寫權限。 66 67 X11Forwarding no 68 「X11Forwarding」設置是否容許X11轉發。 69 70 PrintMotd yes 71 「PrintMotd」設置sshd是否在用戶登陸的時候顯示「/etc/motd」中的信息。 72 73 SyslogFacility AUTH 74 「SyslogFacility」設置在記錄來自sshd的消息的時候,是否給出「facility code」。 75 76 LogLevel INFO 77 「LogLevel」設置記錄sshd日誌消息的層次。INFO是一個好的選擇。查看sshd的man幫助頁,已獲取更多的信息。 78 79 RhostsAuthentication no 80 「RhostsAuthentication」設置只用rhosts或「/etc/hosts.equiv」進行安全驗證是否已經足夠了。 81 82 RhostsRSAAuthentication no 83 「RhostsRSA」設置是否容許用rhosts或「/etc/hosts.equiv」加上RSA進行安全驗證。 84 85 RSAAuthentication yes 86 「RSAAuthentication」設置是否容許只有RSA安全驗證。 87 88 PasswordAuthentication yes 89 「PasswordAuthentication」設置是否容許口令驗證。 90 91 PermitEmptyPasswords no 92 「PermitEmptyPasswords」設置是否容許用口令爲空的賬號登陸。 93 94 AllowUsers admin 95 「AllowUsers」的後面能夠跟着任意的數量的用戶名的匹配串(patterns)或user@host這樣的匹配串,這些字符串用空格隔開。主機名能夠是 96