先說說需求:
我們平時開發、運維操作linux過程中經常需要實現將遠端檔案拷貝到本地或者本地檔案拷貝到遠端;執行遠端命令等操作;這個時候建立ssh免密登入應該是乙個比較好的選擇;
原理
在linux系統中,ssh是遠端登入的預設工具,因為該工具的協議使用了rsa/dsa的非對稱加密演算法;非對稱加密演算法會分別產生公鑰和私鑰;
現在有兩台機器:servera和serverb,servera需要免密登入serverb,我們先在servera生成公鑰和私鑰,把公鑰拷貝到serverb指定的檔案下,servera就可以免密登入serverb了;
以下方法一和方法二都是使用依據上面的原理實現;
ssh-keygen
公私鑰 預設生成路徑/root/.ssh
(這裡的root是使用者名稱,如果你是其他使用者替換即可)如圖:這裡會讓你輸入金鑰的保護密碼,我這裡是一路回車(也就是不設定金鑰密碼)
生成的
/root/.ssh
的檔案:ssh-copy-id -i id_rsa.pub檔案 serverb使用者名稱@serverb_ip
#示例ssh-copy-id -i /root/.ssh/id_rsa.pub root@139.199.196.67
這個過程需要輸入serverb對應使用者密碼。下圖新增成功。ok,搞定。
servera執行:
ssh root@serverb_ip date
#示例ssh root@139.199.196.67 date
得到:sat jan 12 15:22:17 cst 2019
成功!
其實手工拷貝跟方法一的使用命令拷貝差不多,就是操作上原始一點;1、生成公私鑰:同方法一的步驟1;2、手動將步驟1中servera生成的
/root/.ssh/id_rsa.pub
拷貝到serverb的/root/.ssh
目錄下並重新命名為authorized_keys
3、測試:同方法一的步驟3;
ssh遠端免密登入
1 生成金鑰 ssh keygen 2 將公鑰傳到遠端伺服器 ssh copy id i ssh id rsa.pub p 22 root 伺服器ip 3 設定別名登入 host server 12 hostname 192.168.200.12 port 22 user root identity...
ssh 配置遠端免密登入 linux
1.本地客戶端生成金鑰対 名字預設即可,密碼輸入ssh登入時的密碼 ssh keygen t rsa命令執行完後 本地會在.ssh 資料夾中生成相應檔案 2.將生成的公鑰 id rsa.pub 傳至遠端,並放在.ssh 目錄下 命名為authorized keys並加上相關許可權 如服務端已有此檔案...
Linux免密SSH登入
ssh工作機制 ssh免密碼登入 一.ssh工作機制 ssh為secure shell 安全外殼協議 的縮寫。很多ftp pop和telnet在本質上都是不安全的。我們使用的xshell6就是基於ssh的客戶端實現。ssh的服務端實現為openssh deamon。在linux上使用ssh ssh ...