a、b兩台linux終端,其中需要a通過ssh遠端登入b時,能夠免密碼直接通過使用者名稱進行登入的配置1、什麼是公私鑰 總結
原理(1)客戶機向遠端主機傳送登入請求,並且把自己的公鑰傳送給遠端主機。
(2)遠端主機收到使用者的登入請求,首先判斷對應的使用者主目錄下是否存在.ssh/authorized_keys並且這個檔案中有沒有有客戶機的公鑰時;
如果條件不成立,就會使用賬戶口令登入登入的方式,同時向客戶機返回
如果條件成立,則會使用公私鑰登入的方式,同時向客戶機返回
賬戶口令登入登入的方式:(每次都需要輸入密碼,不能免金鑰登入)
(3)使用者使用這個公鑰,將登入密碼加密後,傳送回來。
(4)遠端主機用自己的私鑰,解密登入密碼,如果密碼正確,就同意使用者登入。
基於公私鑰登入的方式:(可以實現 免金鑰登入)
能用到這種方式的前提是,使用者已經將自己的公鑰儲存在遠端主機上,這個是重點,也就是所謂的「公金鑰分發」。
(3)使用者用自己的私鑰解密「隨機資訊」後,接著用「私鑰」加密簽名該「隨機資訊」,最後再用遠端主機的公鑰加密傳送給遠端主機。
(4)遠端主機先用自己的私鑰解密,然後在用事先儲存的客戶機公鑰進行解密認證,得出「隨機資訊」,如果「隨機資訊」正確,就證明使用者是可信的,直接允許登入shell,不再要求密碼。
ssh-copy-id命令可以把本地的ssh公鑰檔案安裝到遠端主機對應的賬戶下。
達到的功能:
ssh-copy-id - 將你的公共金鑰填充到乙個遠端機器上的authorized_keys檔案中。使用模式:
ssh-copy-id [-i [identity_file]] [user@]machine
描述:
ssh-copy-id 是乙個實用ssh去登陸到遠端伺服器的指令碼(假設使用乙個登陸密碼, 因此,密碼認證應該被啟用直到你已經清理了做了多個身份的使用)。它也能夠改變遠端使用者名稱的許可權,/.ssh和/.ssh/authorized_keys刪除群組寫的許可權(在其它方面,如果遠端機上的sshd在它的配置檔案中是嚴格模式的話,這能夠阻止你登陸。)。
如果這個 「-i」選項已經給出了,然後這個認證檔案(預設是~/.ssh/id_rsa.pub)被使用,不管在你的ssh-agent那裡是否有任何金鑰。
另外,命令 「ssh-add -l」 提供任何輸出,它使用這個輸出優先於身份認證檔案。如果給出了引數「-i」選項,或者ssh-add不產生輸出,然後它使用身份認證檔案的內容。一旦它有乙個或者多個指紋,它使用ssh將這些指紋填充到遠端機~/.ssh/authorized_keys檔案中。
# 臨時關閉
systemctl stop iptables
service iptables stop
# 永久關閉
systemctl disable iptables
chkconfig iptables off
# 臨時關閉
systemctl stop firewalld.service // 停止firewall
# 永久關閉
systemctl disable firewalld.service // 禁止firewall開啟啟動
firewall-cmd --state // 檢視firewall狀態
安全增強型 linux(security-enhanced linux)簡稱 selinux,它是乙個 linux 核心模組,也是 linux 的乙個安全子系統。主要作用就是最大限度地減小系統中服務程序可訪問的資源(最小許可權原則)。
# 臨時關閉(0為關閉,1為開啟)
setenforce 0
# 永久關閉
修改 /etc/selinux/config 檔案
將 selinux=enforcing 修改為 disabled
重啟生效
# 檢視狀態
getenforce
/usr/sbin/sestatus -v
如果使用root帳號進行遠端登入,需要授權 root 允許遠端登入的許可權
# 修改 /etc/ssh/sshd_config
permitrootlogin yes //允許root登入
permitemptypasswords yes //允許不輸入密碼登入
# 重啟 sshd 服務生效
systemctl restart sshd
# 編輯 /etc/ssh/sshd_config 檔案,去掉下面幾行的注釋 '#'
rsaauthentication yes
pubkeyauthentication yes
authorizedkeysfile .ssh/authorized_keys
# 重啟 sshd 服務
systemctl restart sshd
service sshd restart
# 執行命令,三次預設回車
ssh-keygen -t rsa
# 生成兩個檔案
id_rsa: 私鑰
id_rsa.pub:公鑰
方法一:建立檔案並進行拷貝,將公鑰匯入到另一台終端的認證檔案中
cat id_rsa.pub >> ~/.ssh/authorized_keys
設定檔案訪問許可權
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
方法二:在本機通過ssh-copy-id
命令直接將公鑰分配給目標終端
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
# 可簡寫
ssh-copy-id // 其中在 /etc/hosts中 配置,使用者預設為本機執行使用者
SSH 免密登入配置
有兩種方式 私鑰登入和公鑰登入 私鑰登入 1 在主機a上生成秘鑰對 ssh keygen t rsa c 注釋文字 將生成的秘鑰對中的私鑰id rsa 複製到將要登入a機器的主機檔案中一班使用字尾.pem,例如 cat id rsa my.pem 2 將上述私鑰檔案交給授權登入的主機,注意,私鑰很重...
SSH免密登入配置
進入到hadoop使用者家目錄 cd 檢視當前目錄.ssh 隱藏檔案 ls al 進入ssh cd ssh 執行命令生成私鑰id rsa 公鑰 id rsa.pub ssh keygen t rsa 將公鑰內容放入hadoop1的authorized keys 檔案 ssh copy id hado...
SSH 免密登入配置
當你剛擁有乙個伺服器後,首先需要登入伺服器。本節主要聊一聊伺服器ssh登入配置。ssh p port root 12.234.567.789 p port 監聽的埠,如果不指定預設值為 22 vim ssh config 修改 ssh 配置檔案 ssh config host beijing hos...