ssh登錄提供兩種認證方式:口令(密碼)認證方式和密鑰認證方式兼砖。其中口令(密碼)認證方式是我們最常用的一種强法,這里介紹密鑰認證方式登錄到linux/unix的方法份帐。
使用密鑰登錄分為3步:1蟹肘、生成密鑰(公鑰與私鑰)谓形;2、放置公鑰(Public Key)到服務器~/.ssh/authorized_key文件中疆前;3、配置ssh客戶端使用密鑰登錄聘萨。
一竹椒、生成密鑰公鑰(Public key)與私鑰(Private Key)
打開Xshell,在菜單欄點擊“tools”米辐,在彈出的菜單中選擇“User Key Generation Wizard...”(密鑰生成向?qū)?胸完,如下圖:
xshell_make_public-key-01
彈出“User Key Generation Wizard”對話框,在“Key Type”項選擇“RSA”公鑰加密算法翘贮,“Key Length”選擇為“2048”位密鑰長度赊窥,如下圖:
xshell_make_public-key-02
點擊“Next”,等待密鑰生成:
xshell_make_public-key-03
繼續(xù)下一步狸页,在“Key Name”中輸入Key的文件名稱锨能,我這里為“key”;在“Passphrase”處輸入一個密碼用于加密私鑰芍耘,并再次輸入密碼確認址遇,如下圖:
xshell_make_public-key-04
點擊“Next”,密鑰生成完畢(Public key Format選擇SSH2-OpenSSH格式)斋竞,這里顯示的是公鑰倔约,我們可以復制公鑰然后再保存,也可以直接保存公鑰到文件坝初,如下圖浸剩。私鑰這里不顯示钾军,可以在“User Key Mangager...”導出到文件:
xshell_make_public-key-05
點擊“Save as file...”按鈕,將公鑰(Public key)保存到磁盤绢要,文件名為“key.pub”吏恭,備用。
二袖扛、上傳公鑰(Public Key)到服務器:
使用到Xshell登錄到服務器砸泛,進入到“/root/.ssh/”目錄,運行rz命令(如果沒有rz命令蛆封,運行yum install lrzsz安裝)唇礁,將key.pub發(fā)送到服務器,然后運行如下命令惨篱,將公鑰(Public Key)導入到“authorized_keys”文件:
[root@localhost ~]# cd /root/.ssh/
[root@localhost .ssh]# rz
rz waiting to receive.
[root@localhost .ssh]# cat me.pub >> authorized_keys
[root@localhost .ssh]# chmod 600 authorized_keys
[root@localhost .ssh]# ls
authorized_keys known_hosts me.pub
[root@localhost .ssh]# cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA4VCOWFrARc1m3MfEAL50v2Z2siavO3Ijpr/LZ00EZah8EjfZhqjAc/agkljyXmNGpVDpRdtlYco8h3P5vegXOEgKcX74fDYm0vNdVABVD1XSD8ElNyLTCCNk7rZJbi3htJox3Q1n0vnMmB5d20d9occkAx4Ac94RWNS33EC5CszNTMgAIn+uZl0FlQklS1oSyWFahSTWyA6b33qG7Y5E4b6J/caObnPx6EgtBrgi97gXJHZWyYlGrpWmUuhPqs5XToRB08CVxAyzewtq1MXv0p+Po4L1pbHLRf+TSoZ5RSBZZjY4/JMAzdXHNtnAyO0j0VNGbBXKUcNSAHZ
xshell_public-key_login_upload
三盏筐、配置Xshell使用密鑰認證方式登錄到服務器:
打開Xshell,點擊“New”按鈕砸讳,彈出“New Session Properties”對話框琢融,在“Connection”欄目中,輸入剛剛配置好公鑰(Public Key)的IP地址和端口簿寂,如下圖所示:
xshell_public-key_set_02
點擊左側的“Authentication”,切換到認證欄目漾抬,在“Method”選擇“Public Key”認證,用戶名輸入“root”(公鑰是放在root目錄下的.ssh文件夾中)常遂,在“User Key”中選擇我們剛才生成的私鑰“key”,“Passphrase”中輸入私鑰的加密密碼纳令。
xshell_public-key_set_01
點擊確定,Xshell配置ssh免密碼登錄配置完成克胳。
附錄:linux ssh-keygen命令生成密鑰:
其實平绩,Linux下的ssh-keygen下也可以生成密鑰,在linux下輸入ssh-keygen -t rsa漠另,在提示下捏雌,輸入密鑰的名稱(這里為key)和私鑰加密密碼,既完成密鑰生成。生成的兩個文件中笆搓,“key”為私鑰性湿,“key.pub”為公鑰。如下圖所示:
linux_make_public-key