天天看點

不同連接配接終端通過密鑰方式登入 Linux

近期碰到需要使用密鑰登入的情況,不同的連接配接終端的情況不太一樣,是以對此總結一番

一、 密鑰對生成

注意:本地主機和目的主機需 ping 通

1)确認伺服器是否安裝有 ssh 以及openssh服務端

[zyy@kube-master ~]$ rpm -qa |grep openssh
openssh-6.6.1p1-25.el7_2.x86_64
openssh-clients-6.6.1p1-25.el7_2.x86_64
openssh-server-6.6.1p1-25.el7_2.x86_64
[zyy@kube-master ~]$ 
[zyy@kube-master ~]$ 
[zyy@kube-master ~]$ systemctl status sshd
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2018-05-21 17:40:41 CST; 22h ago
     Docs: man:sshd(8)
           man:sshd_config(5)
 Main PID: 10690 (sshd)
   CGroup: /system.slice/sshd.service
           └─10690 /usr/sbin/sshd -D           

2)在目的主機切換到需要使用密鑰登入的賬戶,生成密鑰對

[zyy@kube-master ~]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/zyy/.ssh/id_rsa): 
Created directory '/home/zyy/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/zyy/.ssh/id_rsa.
Your public key has been saved in /home/zyy/.ssh/id_rsa.pub.
The key fingerprint is:
1d:46:32:22:37:b3:ff:f1:14:d9:6f:3c:19:cb:4a:11 zyy@kube-master
The key's randomart image is:
+--[ RSA 2048]----+
|    . = o .  E   |
|     o = +   o.  |
|      .   o o... |
|       . o . .oo+|
|        S o .. =+|
|         . +. ...|
|          . ..   |
|                 |
|                 |
+-----------------+           

3)檢視生成的密鑰、公鑰對,權限均設定為 600

[zyy@kube-master .ssh]$ ll
total 8
-rw------- 1 zyy zyy 1679 May 22 16:32 id_rsa           #  私鑰
-rw-r--r-- 1 zyy zyy  397 May 22 16:32 id_rsa.pub     # 公鑰           

4)根據需要修改登入方式

修改 sshd 連接配接配置檔案 vim /etc/ssh/sshd_config

PasswordAuthentication no                         # 不允許密碼驗證登入
PubkeyAuthentication yes                            # 允許公鑰驗證登入
AuthorizedKeysFile .ssh/id_rsa.pub            # 指定公鑰檔案路徑           

5)将私鑰和公鑰導出來儲存備用

[zyy@kube-master .ssh]$ sz id_rsa id_rsa.pub            

二、使用 Xshell 連接配接

打開連接配接終端,設定好主機名,然後設定好連接配接資訊

不同連接配接終端通過密鑰方式登入 Linux

在連接配接過程中可能會出現如下錯誤資訊

不同連接配接終端通過密鑰方式登入 Linux

這是因為在服務端沒有加入認證

将公鑰追加到一個檔案,命名為authorized_keys
[zyy@kube-master .ssh]$ cat id_rsa.pub >authorized_keys

将檔案權限設定為 600
[zyy@kube-master .ssh]$ chmod 600 authorized_keys 
[zyy@kube-master .ssh]$ 
[zyy@kube-master .ssh]$ ll
total 12
-rw------- 1 zyy zyy  397 May 22 16:47 authorized_keys
-rw------- 1 zyy zyy 1679 May 22 16:32 id_rsa
-rw------- 1 zyy zyy  397 May 22 16:32 id_rsa.pub           

然後我們重新進行連接配接就OK了

不同連接配接終端通過密鑰方式登入 Linux

三、使用 SecureCRT 連接配接

打開CRT,配置連接配接資訊,将密鑰認證設定為首選登入方式

不同連接配接終端通過密鑰方式登入 Linux

然後導入公鑰

不同連接配接終端通過密鑰方式登入 Linux

點選确認,成功連接配接

不同連接配接終端通過密鑰方式登入 Linux

參考資料

  1. 基于Xshell使用密鑰方式連接配接遠端主機
  2. 在secureCRT中,通過秘鑰對連接配接linux伺服器

繼續閱讀