第一次使用SSH服務(wù),因?yàn)闆]有及時記錄開啟SSH服務(wù)的過程,在后來因?yàn)橄到y(tǒng)被我玩崩了,快照之前的系統(tǒng),導(dǎo)致SSH無法開啟,也忘記了如何開啟SSH服務(wù),現(xiàn)在將開啟過程記錄如下,以便查看。
使用的的Ubuntu16.0.4LTS系統(tǒng)。
在開啟服務(wù)之前,其實(shí)可以不用考慮本機(jī)有沒有安裝SSH服務(wù),直接安裝,但是為了更好的了解過程,一步一步的去開啟更好。
1、先試著開啟SSH服務(wù)
在使用SSH之前,可以先檢查SSH服務(wù)有沒有開啟。使用命令:sudo ps -e | grep ssh來查看,如果返回的結(jié)果是“xxxx? 00:00:00 sshd”,代表服務(wù)開啟。那個四個x代表四位數(shù)字,每臺機(jī)數(shù)字不一樣的,如圖:
如果沒有反應(yīng)或者其他結(jié)果,再試著開啟SSH服務(wù)。使用命令sudo /etc/init.d/ssh start來開啟服務(wù),如圖:
如果是圖中結(jié)果,說明沒有安裝SSH服務(wù),此時需要安裝 SSH服務(wù),為了能提高安裝成功率,建議先更新源:sudo apt-get update更新安裝源,如圖:
然后安裝SSH服務(wù),使用命令:sudo apt-get install openssh-server。如圖:
等待安裝結(jié)束即可。然后再次查看服務(wù)有沒有啟動:sudo ps -e | grep ssh:
有sshd那個東西,說明服務(wù)啟動了,如果需要再次確認(rèn)或者沒有圖中的結(jié)果,使用命令來啟動:sudo /etc/init.d/ssh start:
看到服務(wù)starting了,服務(wù)成功開啟。另外,還有幾條命令需要記?。?/p>
sudo service ssh status 查看服務(wù)狀態(tài):
sudo service ssh stop 關(guān)閉服務(wù):
sudo service ssh restart 重啟服務(wù)
以上是關(guān)于如何安裝并啟動服務(wù)的過程。
下面介紹使用ssh客戶端遠(yuǎn)程登錄linux系統(tǒng)。本人使用的是win7,登錄虛擬機(jī)的ubuntu linux。
在查看ip之前,有個地方需要注意一下,當(dāng)虛擬機(jī)設(shè)置的linux網(wǎng)絡(luò)連接方式是僅主機(jī)模式時,對應(yīng)宿主機(jī)的虛擬網(wǎng)卡1:WMware Network Adapter VMnet1,
當(dāng)虛擬機(jī)設(shè)置的是NAT模式時,對應(yīng)宿主機(jī)的虛擬網(wǎng)卡8:WMware Network Adapter VMnet8,使用橋接模式時,是和宿主機(jī)同一個網(wǎng)卡。如圖:
知道了這些,當(dāng)查看linux的ip后,把對應(yīng)的宿主機(jī)虛擬網(wǎng)卡ip設(shè)置同一網(wǎng)段即可:
然后ping測試網(wǎng)絡(luò)是否暢通:
測試通過,然后使用SSH客戶端登遠(yuǎn)程登錄linux。前提是已經(jīng)下載好了ssh客戶端,我用的是putty:
個人感覺這款工具體驗(yàn)并不太好,但為什么我在使用,并且在使用之前還被它給教做人,費(fèi)了老大勁,原因是我就是跟它杠上了,我就不信搞不了它,于是最終我教它怎樣做一個乖乖的做一個遠(yuǎn)程工具。
運(yùn)行它:在 Host Name(or address)欄輸入遠(yuǎn)程登錄的主機(jī)的ip,端口號默認(rèn)22,一般還是查一下,之前介紹的查看SSH服務(wù)時說了可以查看服務(wù)狀態(tài),里面有端口號:
接著Connection type為SSH,下面的Saved Sesssions填寫遠(yuǎn)程登錄主機(jī)主機(jī)名就好,還有一個字體編碼,在左側(cè)欄window里的Translation中Receives date……,下拉選擇utf-8。如圖:
設(shè)置好登錄。
第一次登錄可能會有如下提示:點(diǎn)擊是。
確定以后可能還是會連接失敗,或者無反應(yīng),此時關(guān)閉重新登錄,如果不行,多試幾遍。
正常情況如果登錄成功,接下來會輸入遠(yuǎn)程登錄主機(jī)的用戶名和密碼,linux的一個賬戶可以多臺主機(jī)登錄。
如上圖,已經(jīng)登錄成功了。此時就可以使用遠(yuǎn)程登錄工具操作linux了。
不過看到圖中還是有亂碼,用鼠標(biāo)在上圖界面的外邊框欄,就是非命令界面鼠標(biāo)右鍵,找到Change
Settings,按照之前設(shè)置字體的方式再設(shè)置一遍就可以解決。如圖:
關(guān)于SSH的配置文件補(bǔ)充
# Site-wide defaults for various options
Host *
ForwardAgent no
ForwardX11 no
RhostsAuthentication no
RhostsRSAAuthentication no
RSAAuthentication yes
PasswordAuthentication yes
FallBackToRsh no
UseRsh no
BatchMode no
CheckHostIP yes
StrictHostKeyChecking no
IdentityFile ~/.ssh/identity
Port 22
Cipher blowfish
EscapeChar ~
下面逐行說明上面的選項(xiàng)設(shè)置:
Host *
選項(xiàng)“Host”只對能夠匹配后面字串的計(jì)算機(jī)有效。“*”表示所有的計(jì)算機(jī)。
ForwardAgent no
“ForwardAgent”設(shè)置連接是否經(jīng)過驗(yàn)證代理(如果存在)轉(zhuǎn)發(fā)給遠(yuǎn)程計(jì)算機(jī)。
ForwardX11 no
“ForwardX11”設(shè)置X11連接是否被自動重定向到安全的通道和顯示集(DISPLAY set)。
RhostsAuthentication no
“RhostsAuthentication”設(shè)置是否使用基于rhosts的安全驗(yàn)證。
RhostsRSAAuthentication no
“RhostsRSAAuthentication”設(shè)置是否使用用RSA算法的基于rhosts的安全驗(yàn)證。
RSAAuthentication yes
“RSAAuthentication”設(shè)置是否使用RSA算法進(jìn)行安全驗(yàn)證。
PasswordAuthentication yes
“PasswordAuthentication”設(shè)置是否使用口令驗(yàn)證。
FallBackToRsh no
“FallBackToRsh”設(shè)置如果用ssh連接出現(xiàn)錯誤是否自動使用rsh。
UseRsh no
“UseRsh”設(shè)置是否在這臺計(jì)算機(jī)上使用“rlogin/rsh”。
BatchMode no
“BatchMode”如果設(shè)為“yes”,passphrase/password(交互式輸入口令)的提示將被禁止。當(dāng)不能交互式輸入口令的時候,這個選項(xiàng)對腳本
文件和批處理任務(wù)十分有用。
CheckHostIP yes
“CheckHostIP”設(shè)置ssh是否查看連接到服務(wù)器的主機(jī)的IP地址以防止DNS欺騙。建議設(shè)置為“yes”。
StrictHostKeyChecking no
“StrictHostKeyChecking”如果設(shè)置成“yes”,ssh就不會自動把計(jì)算機(jī)的密匙加入“$HOME/.ssh/known_hosts”文件,并且一旦計(jì)算機(jī)的密
匙發(fā)生了變化,就拒絕連接。
IdentityFile ~/.ssh/identity
“IdentityFile”設(shè)置從哪個文件讀取用戶的RSA安全驗(yàn)證標(biāo)識。
Port 22
“Port”設(shè)置連接到遠(yuǎn)程主機(jī)的端口。
Cipher blowfish
“Cipher”設(shè)置加密用的密碼。
EscapeChar ~
“EscapeChar”設(shè)置escape字符。
配置“/etc/ssh/sshd_config”文件
“/etc/ssh/sshd_config”是OpenSSH的配置文件,允許設(shè)置選項(xiàng)改變這個daemon的運(yùn)行。這個文件的每一行包含“關(guān)鍵詞-值”的匹配,其中
“關(guān)鍵詞”是忽略大小寫的。下面列出來的是最重要的關(guān)鍵詞,用man命令查看幫助頁(sshd (8))可以得到詳細(xì)的列表。
下面是選項(xiàng)的可以配置項(xiàng):
# This is ssh server systemwide configuration file.
Port 22
ListenAddress 192.168.1.1
HostKey /etc/ssh/ssh_host_key
ServerKeyBits 1024
LoginGraceTime 600
KeyRegenerationInterval 3600
PermitRootLogin no
IgnoreRhosts yes
IgnoreUserKnownHosts yes
StrictModes yes
X11Forwarding no
PrintMotd yes
SyslogFacility AUTH
LogLevel INFO
RhostsAuthentication no
RhostsRSAAuthentication no
RSAAuthentication yes
PasswordAuthentication yes
PermitEmptyPasswords no
AllowUsers admin
下面逐行說明上面的選項(xiàng)設(shè)置:
Port 22
“Port”設(shè)置sshd監(jiān)聽的端口號。
ListenAddress 192.168.1.1
“ListenAddress”設(shè)置sshd服務(wù)器綁定的IP地址。
HostKey /etc/ssh/ssh_host_key
“HostKey”設(shè)置包含計(jì)算機(jī)私人密匙的文件。
ServerKeyBits 1024
“ServerKeyBits”定義服務(wù)器密匙的位數(shù)。
LoginGraceTime 600
“LoginGraceTime”設(shè)置如果用戶不能成功登錄,在切斷連接之前服務(wù)器需要等待的時間(以秒為單位)。
KeyRegenerationInterval 3600
“KeyRegenerationInterval”設(shè)置在多少秒之后自動重新生成服務(wù)器的密匙(如果使用密匙)。重新生成密匙是為了防止用盜用的密匙解密被
截獲的信息。
PermitRootLogin no
“PermitRootLogin”設(shè)置root能不能用ssh登錄。這個選項(xiàng)一定不要設(shè)成“yes”。
IgnoreRhosts yes
“IgnoreRhosts”設(shè)置驗(yàn)證的時候是否使用“rhosts”和“shosts”文件。
IgnoreUserKnownHosts yes
“IgnoreUserKnownHosts”設(shè)置ssh daemon是否在進(jìn)行RhostsRSAAuthentication安全驗(yàn)證的時候忽略用戶的“$HOME/.ssh/known_hosts”
StrictModes yes
“StrictModes”設(shè)置ssh在接收登錄請求之前是否檢查用戶家目錄和rhosts文件的權(quán)限和所有權(quán)。這通常是必要的,因?yàn)樾率纸?jīng)常會把自己的
目錄和文件設(shè)成任何人都有寫權(quán)限。
X11Forwarding no
“X11Forwarding”設(shè)置是否允許X11轉(zhuǎn)發(fā)。
PrintMotd yes
“PrintMotd”設(shè)置sshd是否在用戶登錄的時候顯示“/etc/motd”中的信息。
SyslogFacility AUTH
“SyslogFacility”設(shè)置在記錄來自sshd的消息的時候,是否給出“facility code”。
LogLevel INFO
“LogLevel”設(shè)置記錄sshd日志消息的層次。INFO是一個好的選擇。查看sshd的man幫助頁,已獲取更多的信息。
RhostsAuthentication no
“RhostsAuthentication”設(shè)置只用rhosts或“/etc/hosts.equiv”進(jìn)行安全驗(yàn)證是否已經(jīng)足夠了。
RhostsRSAAuthentication no
“RhostsRSA”設(shè)置是否允許用rhosts或“/etc/hosts.equiv”加上RSA進(jìn)行安全驗(yàn)證。
RSAAuthentication yes
“RSAAuthentication”設(shè)置是否允許只有RSA安全驗(yàn)證。
PasswordAuthentication yes
“PasswordAuthentication”設(shè)置是否允許口令驗(yàn)證。
PermitEmptyPasswords no
“PermitEmptyPasswords”設(shè)置是否允許用口令為空的帳號登錄。
AllowUsers admin
“AllowUsers”的后面可以跟著任意的數(shù)量的用戶名的匹配串(patterns)或user@host這樣的匹配串,這些字符串用空格隔開。