前言:SSH協議、openssh server、openssh client
SSH(安全外殼協議)
SSH 為 Secure Shell 的縮寫,由 IETF 的網路小組(Network Working Group)所制定;SSH 為建立在應用層基礎上的安全協議,SSH 是目前較可靠,專為遠程登錄會話和其他網路服務提供安全性的協議,利用 SSH 協議可以有效防止遠程管理程序中的資訊泄露問題,SSH最初是UNIX系統上的一個程式,后來又迅速擴展到其他操作平臺,SSH在正確使用時可彌補網路中的漏洞,SSH客戶端適用于多種平臺,幾乎所有UNIX平臺—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平臺,都可運行SSH,
openssh server 與 openssh client
- openssh server的功能主要是作為一個服務運行在后臺,如果這個服務開啟,我們就可以用一些遠程連接工具來連接運行此服務的主機,
- openssh client 它作為連接運行openssh-server服務主機的客戶端工具,
在以 Linux 內核發行版作業系統上,要實作遠程連接,需要安裝 openssh-server 軟體包,并作為服務在后臺一直運行,而 openssh-server 軟體包依賴于 openssh-clients.
在 centos 系統安裝 openssh-server 步驟
yum install -y openssh
yum install openssh-clients
yum install -y openssh-server
# centos 7 啟動 openssh-server
systemctl start sshd.services
# centos 6 啟動 openssh-server
# /etc/init.d/sshd start
在 ubuntu 中安裝 openssh-server 步驟 (ubuntu 默認安裝openssh-clients)
sudo apt update
sudo apt install openssh-server
# 啟動 openssh-server
sudo /etc/init.d/ssh start
# 或
# sudo systemctl start ssh.service
# 或
# sudo service ssh start
Ubuntu SSH Server 安裝、配置
1、檢查是否安裝 openssh-server
可通過以下3個命令中任何一個來檢查是否已經安裝 openssh-server:
dpkg -s openssh-server
apt search openssh-server
sudo /etc/init.d/ssh start
如果出現:

說明:openssh-server 未安裝,需要安裝,
如果出現:

或

或

說明:openssh-server 已安裝(安裝步驟可跳過),
ssh -V 不能用來驗證 openssh-server 是否安裝
由于 Ubuntu 20.04 (>=16.04) 默認安裝了 ssh client,但是默認未安裝 openssh-server,
當執行 ssh -V 命令顯示的版本資訊實際上是 ssh client 的版本資訊,而非 openssh-server 版本資訊,因而不能通過此命令檢查 是否已安裝 openssh-server,

2、安裝 openssh-server
sudo apt update
sudo apt install openssh-server
3、啟動 openssh-server,接著輸入命令
sudo /etc/init.d/ssh start
# 或
sudo systemctl start ssh.service

ssh server 啟動/停止/重啟
sudo /etc/init.d/ssh start # 啟動
sudo /etc/init.d/ssh stop # 停止
sudo /etc/init.d/ssh restart # 重啟
或
sudo systemctl start ssh.service # 啟動
sudo systemctl stop ssh.service # 停止
sudo systemctl restart ssh.service # 重啟
或
sudo service ssh start # 啟動
sudo service ssh stop # 停止
sudo service ssh restart # 重啟
4. 查看 openssh-server 是否已啟動
查看ssh是否啟動,如果啟動服務中有 sshd,若有,說明已經啟動.
sudo ps -e | grep ssh

5.ssh localhost 測驗本地 openssh 服務器的運行及配置
終端輸入
ssh localhost

ssh localhost 運行常見的錯誤
1. WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

“WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!” 即:警告:遠程主機標識已更改,
原因: 此報錯是由于遠程的主機的公鑰發生了變化導致的,
ssh服務是通過公鑰和私鑰來進行連接的,它會把每個曾經訪問過計算機或服務器的公鑰(public key),記錄在~/.ssh/known_hosts 中,當下次訪問曾經訪問過的計算機或服務器時,ssh就會核對公鑰,如果和上次記錄的不同,OpenSSH會發出警告,
解決辦法: 洗掉對應ip的在known_hosts相關資訊,

如果不能確定ip,直接將 known_hosts 中所有內容全部內容洗掉,保存即可,
清空known_hosts后首次執行 ssh localhost,添加公鑰時會提醒選擇 “Are you sure you want to continue connecting (yes/no/[fingerprint])? ”,輸入 “yes” 回車即可,

再次執行 ssh localhost,不會有上次的提醒,直接輸入遠程登陸的賬戶的密碼即可,

2. ssh: connect to host localhost port 22: Connection refused
ssh: connect to host localhost port 22: Connection refused,(不能夠連接到本地主機埠22, 連接被拒絕)
這種情況(在可以正常上網的前提下)的原因可能是 openssh-server 未啟動或未安裝,
此時執行:sudo /etc/init.d/ssh start 如果提示“已啟動”,這時可正常執行 ssh localhost,
如果提示 “找不到此檔案或命令” 那么根據前面的步驟先安裝、再啟動 openssh-server,最后執行 ssh localhost,
使用 SSH 客戶端工具遠程連接
終端運行運行以下命令,查看 IP 地址:
# 采用 NAT 橋接網路模式,在使用 ifconfig 查看ip前,需要執行以下命令,
# 用 dhcp 服務獲取 ip 地址
sudo dhclient -v
# 查看 ip 地址
ifconfig


SSH 客戶端 可以使用 VMWare 自帶工具 或 Xshell. 將 上面得到的 ip 地址在 SSH 客戶端 配置即可,
- Xshell 遠程連接 Ubuntu 20.04
- VMWare 自帶 SSH 客戶端 遠程連接 Ubuntu 20.04
openssh-server 的徹底卸載
# 卸載并洗掉組態檔
sudo apt-get purge openssh-server
參考
- ubuntu16.04下安裝openssh-server報依賴錯誤的解決方法
- SSL、SSH、OpenSSH、OpenSSL 區別
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/185727.html
標籤:其他
