Linux服務(wù)器在SSH客戶端如何實(shí)現(xiàn)免密登錄
一、SSH客戶端Setting 配置 key , 創(chuàng)建生成公鑰導(dǎo)出文件。
二、服務(wù)器 master 上生成密鑰
通過執(zhí)行命令 ssh-keygen -t rsa 來生成我們需要的密鑰。
ssh-keygen -t rsa
執(zhí)行上面的命令時(shí),我們直接按三次回車,之后會(huì)在用戶的根目錄下生成一個(gè) 3個(gè) 的文件夾。 cd .ssh查看改目錄。
authorized_keys
id_rsa
id_rsa.pub
known_hosts
cd .ssh
三、遠(yuǎn)程密鑰登錄
這里介紹最常用的三種方式,一是通過 ssh-copy-id 命令,二是通過 scp 命令,三是手工復(fù)制。
方式一,通過 ssh-copy-id 命令設(shè)置。最后一個(gè)參數(shù)是我們要免密鑰登錄的服務(wù)器 ip 地址。
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.100
方式二,通過 scp 命令直接將該文件遠(yuǎn)程復(fù)制過去,使用這種方式需要注意,如果你之前已經(jīng)配置了其它服務(wù)器上的密鑰,這是使用這種方法,就會(huì)覆蓋掉你原來的密鑰,這時(shí)候是不建議使用這種方式的,如果你是先將該文件復(fù)制到服務(wù)器上的一個(gè)目錄下,然后在使用追加的方式,將密鑰追加到 authorized_keys 也是完全 OK 的。如果你只有兩臺(tái)服務(wù)器也是可以直接復(fù)制到文件。
scp -p ~/.ssh/id_rsa.pub root@<ip>:/root/.ssh/authorized_keys
方法三、把SSH生成的公鑰上傳至服務(wù)器/root/xx.pub
把這個(gè)pub文件拷貝到.ssh/
cp pub.pub .ssh/
cd .ssh
ssh-keygen -i -f pub.pub>>1.txt
cat 1,txt
拷貝改文件下的內(nèi)容貼到 authorized_keys里
四、將SSH客戶端生成的私鑰,秘鑰內(nèi)容放至 /.ssh 目錄下 authorized_keys
cd .ssh
vi authorized_keys
按Shit+G跳轉(zhuǎn)至最后一行, ssh-dss + 復(fù)制密鑰內(nèi)容shit + insert
按Esa 退出編輯
:wq保存
五、SSH輸入服務(wù)器地址,用戶名root ,點(diǎn)擊確認(rèn),自動(dòng)實(shí)現(xiàn)免密登錄。
六、實(shí)現(xiàn)原理
1、ssh 客戶端向 ssh 服務(wù)器端發(fā)送連接請求
2、ssh 服務(wù)器端發(fā)送一個(gè)隨機(jī)的信息
3、ssh 客戶端使用本地的私鑰對服務(wù)器端發(fā)送過來的信息進(jìn)行加密
4、ssh 客戶端向服務(wù)器端發(fā)送加密過后的信息
5、ssh 服務(wù)器端使用公鑰對該信息進(jìn)行解密
6、若解密之后的信息和之前發(fā)送的信息匹配,則信任客戶端,否則不信任。
七、Linux常用指令
kill -9 xx 結(jié)束服務(wù)進(jìn)程
mkdir xx 新建文件夾
rf -rn xx.log 刪除文件
ll 查看目錄
ps -ef | grep java 查看服務(wù)端口號
tail -f 1000 xx.log 動(dòng)態(tài)查看日志文件
cat xx.log 查看日志
cat server.log | grep "xx" 關(guān)鍵字模糊查詢?nèi)罩?br> curl -v "http://www.baidu.com" 顯示get請求全過程解析
wget "http://www.baidu.com" 發(fā)送get請求
cat -n '/2018-08-12 06:00:00/,/2018-08-12 09:00:59/p' server.log | grep 'rewardType:3' 查看某個(gè)時(shí)間段日志
grep 'xx' *.log
grep -E 'aa|bb' 多個(gè)條件關(guān)鍵字查詢
awk -F ',' '{print $8}' server.log | sort | uniq -c | sort -k1nr 查詢?nèi)罩局?,總接口總?shù)和調(diào)用量
less xx.log
1、查詢具體報(bào)錯(cuò)日志: cd/服務(wù)日志路徑, 通過【時(shí)間/關(guān)鍵字/進(jìn)程號】查詢?nèi)罩尽?br> 方法一: linux指令: cat *.log | grep '關(guān)鍵字' 、 grep -E 'aa|bb' 多個(gè)條件關(guān)鍵字查詢
方法二: less XX.log, shift+G 刷到最后一行,
然后用輸入斜杠/,貼貼【時(shí)間/關(guān)鍵字/進(jìn)程號】 ,鍵盤輸入n往下查找,鍵盤輸入Shit+n往上查找
2、查詢服務(wù)接口請求耗時(shí):cd/服務(wù)日志路徑, 執(zhí)行awk -F ',' '$10>3000000 ${print $0}'*.log
3、查詢服務(wù)端全部錯(cuò)誤碼日志: 執(zhí)行awk -F ',' '$9!=0 ${print $0}'server.log或client.log

浙公網(wǎng)安備 33010602011771號