ssh協議預設開放的是tcp 22號埠
前一節講到ssh首次啟動時,由於沒有公鑰和私鑰的存在,在啟動時,會生成本機的公鑰和私鑰資料。這裡模擬乙個ssh首次啟動的場景,即手動刪除/etc/ssh/下的公鑰和私鑰檔案,重啟ssh服務時,觀察公鑰和私鑰已經生成。
ssh提供了兩個功能:
1、提供shell給我們使用;
2、提供乙個比較安全的ftp-server
ssh [-f] [-o 引數] [-p 埠] [使用者賬號@]ip [指令]
-f:需要配合後面的[指令],作用是不登陸遠端裝置,僅僅傳送乙個指令過去
-o 引數:
connecttimeout=時間(單位:秒)表示ssh連線等待的時間,設定引數可以減少連線等待的時間
stricthostkeychechking=yes|ask|no預設引數是ask,主要是遠端主機對公鑰資料進行核查。首次連線遠端主機之後,遠端主機會把客戶端的公鑰存放在~/.ssh/known_hosts;再次連線遠端主機的時候,遠端主機對比本次的公鑰與存放的公鑰資料是否一致。若要讓公鑰主動加入~/.ssh/known_hosts,設定no即可。
-p :遠端主機ssh服務開放的埠(預設開放22埠)
[指令]:不登入遠端主機,直接傳送命令過去。
如果執行命令時間較長,會發現會卡在輸入密碼的這個階段,這是因為命令還沒有執行完,只有等待命令執行完畢後才會斷開連線,這個時候配合-f命令使用
注意:一般登陸遠端裝置,都會按照 ssh -p 埠 使用者賬號@ip 的格式。如果不寫賬號,會以本端的賬號來嘗試登陸遠端裝置。例如:a伺服器登陸b伺服器,a伺服器現在是test普通賬號,直接ssh b伺服器ip,那麼會用test賬號登陸b,b中如果沒有此賬號,則會報錯。
登陸遠端裝置時,rsa這行會出現公鑰指紋碼,如果沒有問題,輸入yes後會主動寫入公鑰記錄檔案~/.ssh/known_hosts中
伺服器公鑰記錄檔案:~/.ssh/known_hosts
當進行遠端伺服器連線時,本端會將對端傳送過來的公鑰去~/.ssh/known_hosts進行比對:
1、若沒有該公鑰記錄,則ask使用者是否需要記錄,記錄則寫入~/.ssh/known_hosts檔案;不記錄則不寫入該檔案,登陸結束退出
2、若收到的公鑰已經記錄在案,則比對二者是否相同,若相同則進行後面的登陸操作;若不相同,則出現告警資訊,且退出登陸。
模擬場景:假設a伺服器之前登陸過b伺服器,但是b伺服器系統重新安裝並啟動ssh服務,造成b伺服器的公鑰發生改變,會出現什麼樣的後果以及如何處理呢?
1、在b伺服器上刪除公鑰和私鑰檔案,並重啟ssh服務
2、a伺服器重新登入b伺服器
a登入時提示,有可能是中間人攻擊,也可能是遠端主機的公鑰改變。檢查/roo/.ssh/known_hosts檔案第一行的公鑰檔案,已經發生改變。
此時還想登入b的話,刪除/root/.ssh/known_hosts檔案的第一行內容即可
spring aop 實戰篇 一
需求 通過spring aop 提供的面向切面程式設計的思想,利用自定義註解的方式,實現對介面的功能的增強 一 自定義乙個註解類 target 指明了修飾的這個註解的使用範圍,即被描述的註解可以用在 documented retention retentionpolicy.runtime targe...
(二)zookeeper實戰篇
a.安裝jdk b.安裝zookeeper 通過filezilla將zookeeper傳到linux下的 opt software下並chaos u x zookeeper 3.4.10.tar.gz 然後解壓到 opt module 下 c.修改配置 將 opt module zookeeper ...
效能測試 實戰篇
bug的表現 拆分物件 然後從功能實現上來看,怎麼實現這個完整功能的。通常這些業務功能操作都對應著乙個或多個請求 可能能是不同型別的請求,比如 http,mysql 等 我們要做的是找出這些操作對應的請求,請求之間的順序是怎麼樣的。指標分析 常用分析思路 2 8 法則 正態分佈 按比例倍增 響應時間...