1. 程式人生 > 實用技巧 >window下xshell 開啟金鑰認證 禁用伺服器密碼登入

window下xshell 開啟金鑰認證 禁用伺服器密碼登入

>>> hot3.png

由於大家比較樸實,將實驗室伺服器密碼設定成了程式設計師都知道的。但最近有些實驗室連續最近出現了非法入侵現象(由於伺服器連的是內網,估計是校內小朋友乾的,太傷心了)。只能採用開啟金鑰認證,禁用密碼登入。

相信大家RSA非對稱加密的原理大家都瞭解,這裡就不贅述了。

這裡主要是window下xshell設定方法:

首先填入你需要連線伺服器的基本資訊。

下一步:

之後的對話方塊,點選下一步,下一步,下一步


選擇RSA加密。

生成祕鑰對,私鑰和公鑰。

這裡輸入私鑰的名字和開啟私鑰的密碼。

點選儲存公鑰檔案(作用可以看看下圖中的說明),本文儲存的檔名為id_rsa_1024.txt。



將id_rsa_1024.txt拷貝(如使用xftp,rz等)到需要祕鑰認證的伺服器。

登入伺服器:

(如果沒有.ssh資料夾)$ mkdir ~/.ssh
$ chmod 700 .ssh
$ cat id_rsa_1024.txt >> ~/.ssh/authorized_keys(id_rsa_1024.txt 是你public key的檔名)

$ rm ~/id_rsa_1024.txt
$ chmod 600 ~/.ssh/*

如果以上步驟不能實現不輸密碼登陸的話,需要檢查sshd服務的Pubkey認證功能是否預設開啟
/etc/ssh/sshd_config:
PubkeyAuthentication yes

如果修改後需要要重起你的ssh服務,用ssh –v來顯示詳細的登陸過程.

最後一步:關閉靜態密碼
建議不使用靜態密碼,以後都我們都使用key登入,修改如下內容可以關閉使用密碼認證:

關閉Pam的傳統密碼認證.

PasswordAuthentication選項更改為 no

使用public登入:

選擇剛才你跟公鑰配對的私鑰,輸入你設定的開啟私鑰的祕密。點選ok即可登入。

其他:使用Export匯出你的私鑰給其他人使用。

其他人只有使用Import匯入即可。


ps:關於兩臺伺服器之間如何使用祕鑰登入,這裡給一個nopasswd指令碼。

[plain]
view plain copy print ? 在CODE上檢視程式碼片 派生到我的程式碼片
  1. #!/bin/sh
  2. scp~/.ssh/id_dsa.pub[email protected]$2:~/
  3. ssh[email protected]$2"touch~/.ssh/authorized_keys;cat~/id_dsa.pub>>~/.ssh/authorized_keys;chmod644~/.ssh/authorized_keys;exit"

執行方式 sh nopasswd USER REMOTE_HOST 注:USER 為另一臺伺服器使用者名稱 REMOTE_HOST為另一臺伺服器ip地址。
執行此指令碼前,請確認:
本機上已有 id_dsa.pub ,若無。 使用命令 ssh-keygen -t dsa 獲得。
遠端機上登入使用者家目錄下,已經有 .ssh 資料夾,若無建立之。

注意:這是在伺服器還可以使用文字密碼登入的基礎上。

轉載於:https://my.oschina.net/liting/blog/551275