您好,登錄后才能下訂單哦!
1,遠程連接服務概念介紹
SSH: 系統默認配置 22 默認可以使用root用戶進行登錄 數據信息進行加密
TELNET:網絡設備默認開啟 23 默認只能使用普通用戶進行登錄 數據信息顯示明文
用wireshark抓包:分別抓SSH協議登錄包和Telnet包(一個密文,一個明文)
2,SSH協議密鑰登錄原理:
1)服務端生成密鑰對(公鑰和私鑰也就是鎖和鑰匙)
2)服務端向其他主機發起公鑰文件或者說鎖鎖存放此/root/.ssh/authorized_keys
3)服務端通過私鑰去登錄其他主機
3,操作
創建密鑰對
ssh-keygen
2,將公鑰或者說鎖發送到其他主機
免密登錄
4,解決第一次發送公鑰有yes/no問題
1)通過man ssh找到StrictHostKeyChecking
命令:ssh-copy-id -i /root/.ssh/id_rsa.pub 10.0.0.41 -o StrictHostKeyChecking=no
解決第一次發送公鑰還是要輸入密碼問題
1)先裝個sshpass工具
yum -y install sshpass
sshpass -proot123 ssh-copy-id -i /root/.ssh/id_rsa.pub 10.0.0.41 -o StrictHostKeyChecking=no
5,批量分發公鑰到多臺主機
for i in {41,200}
do
sshpass -proot123 ssh-copy-id -i /root/.ssh/id_rsa.pub 10.0.0.${i} -o StrictHostKeyChecking=no
[ $? -eq 0 ] && echo "ok"
done
6,即使有5步驟的操作,但是生成密鑰對還是要手動回車操作,如果生產密鑰對也可以免交互,則整個步驟我們都可以實現批量管理了
來,寫一個更完善的腳步
#!/bin/bash
if [ -f /root/.ssh/id_rsa ];then
echo -------密鑰對文件已經存在--------
else
echo -------正在生成密鑰對文件--------
ssh-keygen -f /root/.ssh/id/id_rsa -N ''
fi
(生成密鑰對要手動回車的部分一是要指定文件位置,我們-f參數先指定,二是要確認密碼我們-N參數指定新密碼''表示后面空,就是說沒有新密碼。這樣生成密鑰對的操作
也是免交互了)
for i in {41}
do
sshpass -proot123 ssh-copy-id -i /root/.ssh/id_rsa.pub 10.0.0.${i} -o StrictHostKeyChecking=no >/dev/null 2>&1
[ $? -eq 0 ] && echo "ok"
done
7,優化SSH
在所有其他主機上修改
1)監聽端口22
改成9999
2)監聽ip0.0.0.0 (這里的所有表示,所有主機自己有的ip,一個主機可以有多個ip。你連我的時候寫上我自己的ip。不是表示來連接我的主機的ip,ssh不通過限制客戶端的ip來限制訪問,跟rysnc,nfs,nginx不一樣不要搞混了
改成監聽某個網段或ip,172.16.1.0 表示允許監聽網段或ip,ssh遠程
3)密碼驗證PasswordAuthentication yes
改為PasswordAuthentication no 密碼登錄不了。其他主機想要登錄這個主機通過輸入賬號密碼是登不進去了,這個時候只有管理端通過密鑰對登錄了
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。