Linux服務器在SSH客戶端如何實現免密登錄


一、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請求

       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM