window下xshell 開啓密鑰認證 禁用服務器密碼登陸

因爲你們比較樸實,將實驗室服務器密碼設置成了程序員都知道的。但最近有些實驗室連續最近出現了非法入侵現象(因爲服務器連的是內網,估計是校內小朋友乾的,太傷心了)。只能採用開啓密鑰認證,禁用密碼登陸。 程序員

相信你們RSA非對稱加密的原理你們都瞭解,這裏就不贅述了。 shell

這裏主要是window下xshell設置方法: 服務器

首先填入你須要鏈接服務器的基本信息。 ssh

下一步: 加密

以後的對話框,點擊下一步,下一步,下一步 spa


選擇RSA加密。 .net

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

這裏輸入私鑰的名字和打開私鑰的密碼。  blog

點擊保存公鑰文件(做用能夠看看下圖中的說明),本文保存的文件名爲id_rsa_1024.txt。 ip



將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  $1@$2:~/  
  3. ssh $1@$2 " touch ~/.ssh/authorized_keys ; cat ~/id_dsa.pub  >> ~/.ssh/authorized_keys; chmod 644 ~/.ssh/authorized_keys; exit"  

執行方式 sh nopasswd USER REMOTE_HOST  注:USER 爲另外一臺服務器用戶名 REMOTE_HOST爲另外一臺服務器ip地址。
執行此腳本前,請確認:
本機上已有 id_dsa.pub ,若無。 使用命令 ssh-keygen -t dsa 得到。
遠程機上登陸用戶家目錄下,已經有 .ssh 文件夾,若無建立之。

注意:這是在服務器還可使用文本密碼登陸的基礎上。
相關文章
相關標籤/搜索