一、SSH客戶端Setting 配置 key , 創建生成公鑰導出文件。
二、服務器 master 上生成密鑰
通過執行命令 ssh-keygen -t rsa 來生成我們需要的密鑰。
ssh-keygen -t rsa
執行上面的命令時,我們直接按三次回車,之后會在用戶的根目錄下生成一個 3個 的文件夾。 cd .ssh查看改目錄。
authorized_keys
id_rsa
id_rsa.pub
known_hosts
cd .ssh
三、遠程密鑰登錄
這里介紹最常用的三種方式,一是通過 ssh-copy-id 命令,二是通過 scp 命令,三是手工復制。
方式一,通過 ssh-copy-id 命令設置。最后一個參數是我們要免密鑰登錄的服務器 ip 地址。
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.100
方式二,通過 scp 命令直接將該文件遠程復制過去,使用這種方式需要注意,如果你之前已經配置了其它服務器上的密鑰,這是使用這種方法,就會覆蓋掉你原來的密鑰,這時候是不建議使用這種方式的,如果你是先將該文件復制到服務器上的一個目錄下,然后在使用追加的方式,將密鑰追加到 authorized_keys 也是完全 OK 的。如果你只有兩台服務器也是可以直接復制到文件。
scp -p ~/.ssh/id_rsa.pub root@<ip>:/root/.ssh/authorized_keys
方法三、把SSH生成的公鑰上傳至服務器/root/xx.pub
把這個pub文件拷貝到.ssh/
cp pub.pub .ssh/
cd .ssh
ssh-keygen -i -f pub.pub>>1.txt
cat 1,txt
拷貝改文件下的內容貼到 authorized_keys里
四、將SSH客戶端生成的私鑰,秘鑰內容放至 /.ssh 目錄下 authorized_keys
cd .ssh
vi authorized_keys
按Shit+G跳轉至最后一行, ssh-dss + 復制密鑰內容shit + insert
按Esa 退出編輯
:wq保存
五、SSH輸入服務器地址,用戶名root ,點擊確認,自動實現免密登錄。
六、實現原理
1、ssh 客戶端向 ssh 服務器端發送連接請求
2、ssh 服務器端發送一個隨機的信息
3、ssh 客戶端使用本地的私鑰對服務器端發送過來的信息進行加密
4、ssh 客戶端向服務器端發送加密過后的信息
5、ssh 服務器端使用公鑰對該信息進行解密
6、若解密之后的信息和之前發送的信息匹配,則信任客戶端,否則不信任。
七、Linux常用指令
kill -9 xx 結束服務進程
mkdir xx 新建文件夾
rf -rn xx.log 刪除文件
ll 查看目錄
ps -ef | grep java 查看服務端口號
tail -f 1000 xx.log 動態查看日志文件
cat xx.log 查看日志
cat server.log | grep "xx" 關鍵字模糊查詢日志
curl -v "http://www.baidu.com" 顯示get請求全過程解析
wget "http://www.baidu.com" 發送get請求