關於ssh的基本知識

2021-09-11 02:08:12 字數 1449 閱讀 9306

ssh為secure shell的縮寫,是一種網路安全協議,專為遠端登入會話和其他網路服務提供安全性的協議。生產中,我們經常使用ssh來登入、免密碼登入遠端linux機器。

在linux主機node1上,安裝ssh的客戶端,在linux主機node2上,安裝ssh的服務端。那麼下圖可以理解為配置node1到node2的免密碼登入的流程。通俗說就是,在node1主機上的命令視窗中,不用輸入node2主機的密碼,就能登入node2主機。這就是免密碼登入。

首先看下面~/.ssh中的四個檔案:

id_rsa:儲存私鑰

id_rsa.pub:儲存公鑰

authorized_keys:儲存已授權的客戶端公鑰

known_hosts:儲存已認證的遠端主機id

[hadoop@hadoop-01 ~]$ ssh-keygen

[hadoop@hadoop-01 .ssh]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

[hadoop@hadoop-01 .ssh]$ chmod 600 authorized_keys

這樣這三句**就好理解了。

known_hosts中儲存的內容是什麼?

known_hosts中儲存是已認證的遠端主機host key,每個ssh server都有乙個secret, unique id, called a host key。

host key not found from the list of known hosts.

are you sure you want to continue connecting (yes/no)?

此時,如果我們選擇yes,那麼該host key就會被加入到client的known_hosts中,格式如下:

#domain name+encryption algorithm+host key

example.hostname.com ssh-rsa aaaab4nzac1yc2eaaaabiwaaaqea。。。

為什麼需要known_hosts?

最後**下為什麼需要known_hosts,這個檔案主要是通過client和server的雙向認證,從而避免中間人(man-in-the-middle attack)攻擊,每次client向server發起連線的時候,不僅僅server要驗證client的合法性,client同樣也需要驗證server的身份,ssh client就是通過known_hosts中的host key來驗證server的身份的。

關於多型的基本知識

package duotai 多型的一些基本知識 在子類和父類裡面有同名函式的時候,假如生成乙個子類的物件,並在子類的物件裡面 呼叫這個函式,那麼到底會是呼叫的是誰的函式呢?1.要有繼承 2.要有重寫 3.父類引用指向子類物件 當你呼叫呼叫父類裡被重寫的方法時,實際當中new的是哪個子類物件就呼叫哪...

關於object c的基本知識

簡介 發展歷史 3關於cocoa cocoa 是從1980年代由 next 開發的程式設計環境 nextstep 和 openstep 演變而來,這點可由其類別之名皆以 ns 字首 代表nextstep 看出端倪。蘋果電腦公司在1996年12月收購了next。開發 nextstep 和 openst...

關於QinQ的基本知識

qinq 802.1q in 802.1q 技術是一項擴充套件vlan空間的技術,通過在802.1q標籤報文的基礎上再增加一層802.1q的tag來達到擴充套件vlan空間的功能,可以使私網vlan透傳公網。由於在骨幹網中傳遞的報文有兩層802.1q tag 一層公網tag,一層私網tag 即802...