第乙個步驟: 在客戶端建立金鑰對資訊(管理主機10.0.0.61)
[root@m01 ~]# ssh-keygen -t dsa
[root@m01 ~]# ll ~/.ssh/
total 8
-rw------- 1 root root 668 mar 4 10:36 id_dsa
-rw-r--r-- 1 root root 598 mar 4 10:36 id_dsa.pub
第二步: 分發公鑰資訊
[root@m01 ~]# ssh-copy-id -i ~/.ssh/id_dsa.pub [email protected]
vim /etc/ssh/sshd_config
#port 22 --- 修改服務埠號引數
#listenaddress 0.0.0.0 --- 修改監聽位址(指定的監聽位址可以建立連線)
0.0.0.0監聽本地主機網絡卡有的所有位址, 建議只監聽內網網絡卡位址
!!!ps: 服務只能監聽本地網絡卡上有的位址
#permitemptypasswords no --- 是否允許空密碼登陸連線,預設不允許
#permitrootlogin yes --- 是否允許root使用者遠端登陸,預設允許
連線優化:gssapiauthentication on --- 特殊的認證需要關閉(提公升遠端連線效率)
#usedns on --- 開啟了代表具有dns反向解析功能
dns正向解析: 已知網域名稱資訊 --- ip位址資訊
dns反向解析: 已知ip資訊 --- 獲得網域名稱資訊
(需要以來hosts檔案配置,如果檔案沒有配置,反向解析過程會影響遠端連線效率)
07. 如何批量分發公鑰/如何實現批量驗證
問題一: 如何批量分發公鑰 基於指令碼迴圈
利用指令碼迴圈操作
mkdir /server/scripts -p
vim fenfa.sh --- 初始分發公鑰指令碼
#!/bin/bash
for ip in `cat /server/scripts/ip_list.txt`
dossh-copy-id -i /root/.ssh/id_dsa.pub root@$ip
done
問題一: 分發時需要輸入密碼資訊
需要安裝:yum install -y sshpass
sshpass -p123456 ssh-copy-id -i ~/.ssh/id_dsa.pub [email protected]
問題二: 需要進行確認
>~/.ssh/known_hosts 為了實現確認效果,需要清楚客戶端known_hosts檔案
sshpass -p123456 ssh-copy-id -i ~/.ssh/id_dsa.pub [email protected] -o stricthostkeychecking=no
完善指令碼資訊:
[root@m01 scripts]# cat fenfa_pub.sh
#!/bin/bash
source /etc/init.d/functions
for ip in `cat /server/scripts/ip_list.txt`
doecho "***************= start fenfa to $ip ***************==="
sshpass -p123456 ssh-copy-id -i ~/.ssh/id_dsa.pub root@$ip -o stricthostkeychecking=no &>/dev/null
if [ $? -ne 0 ]
then
action "host $ip fenfa fail !" /bin/false
else
action "host $ip fenfa success !" /bin/true
fiecho "***************= end fenfa ***************==="
echo ""
done
分發測試檢查指令碼:
#!/bin/bash
source /etc/init.d/functions
for ip in `cat /server/scripts/ip_list.txt`
doecho "***************= start check to $ip ***************==="
ssh root@$ip $1
if [ $? -ne 0 ]
then
action "host $ip check fail !" /bin/false
else
action "host $ip check success !" /bin/true
fiecho ""
done
完善:[root@m01 scripts]# vim fenfa_check.sh
#!/bin/bash
source /etc/init.d/functions
if [ $# -ne 1 ]
then
echo "pls input one commond"
exit
fifor ip in `cat /server/scripts/ip_list.txt`
doecho "***************= start check to $ip ***************==="
ssh root@$ip $1
if [ $? -ne 0 ]
then
action "host $ip check fail !" /bin/false
else
action "host $ip check success !" /bin/true
fiecho ""
done
sh fenfa_check.sh hostname
問題二: 如何ssh服務埠號變更如何進行分發 基於特殊引數
ssh-copy-id -i ~/.ssh/id_dsa.pub [email protected] -p52113
ssh遠端管理服務
openssh service 提供服務 openssh clients 客戶端 sshd服務的埠號 22 root linux server yum install y openssh 1.伺服器端啟動服務 systemctl start sshd 2.關閉防火牆和selinux遠端登入 root...
linux SSH遠端管理服務
1 ssh簡介 1.1 ssh 安全外殼協議 ssh為secure shell的縮寫,ssh為建立在應用層和傳輸層基礎上的安全協議。1.2 ssh埠 ssh埠 22 linux中守護程序 sshd 安裝服務 openssh 服務端主程式 usr sbin sshd 客戶端主程式 usr bin ss...
SSH遠端管理服務
ssh 安全外殼協議 ssh為secure shell的縮寫,ssh為建立在應用層和傳輸層基礎上的安全協議。採用非對稱加密演算法。用法 ssh root ip位址 ssh埠 ssh埠 22.linux中守護程序 sshd 安裝服務 openssh 服務端主程式 usr sbin sshd 客戶端主程...