公司服務器使用的第三方雲端服務,即阿里雲,而本地需要經常去登錄到服務器做相應的配置工作,鑒於此,每次登錄都要使用密碼是比較煩躁的,本着極速思想,我們需要配置我們的免登陸。
一 理論概述
SSH介紹
SSH 為 Secure Shell 的縮寫,由 IETF 的Network Working Group提出.
SSH 是建立與應用層基礎上的安全協議.
SSH 相對可靠,專為遠程s登錄會話和其他網絡服務提供安全性的協議.
SSH好處
利用 SSH 協議可以有效防止遠程管理過程中的信息泄露問題.
SSH基本使用
SSH主要用於遠程登錄。假定你要以用戶名root,登錄遠程主機10.97.0.10
$ ssh root@10.97.0.10
假如你本地用戶名與遠程用戶名一致,可以縮寫為:
$ ssh 10.97.0.10
SSH工作原理
- 服務器接受到客戶端登錄請求,首先會把公鑰發給用戶;
- 客戶端使用該公鑰,將登錄密碼加密后,發給服務器;
- 服務器利用自己的公鑰,解密登錄密碼,如果成功,允許客戶端訪問。
二 實戰分析
需求場景
遠程免密碼登錄服務器
環境屬性
遠程服務器:centos linux版本
本地計算機:mint linux版本
(說明:基本上不管哪一種linux服務版本,基本配置基本一致)
解決方案
我們對免登陸,我們可以使用 SSH協議,通過公鑰,私鑰來實現.
三 本地客戶端配置
a.查詢本地是否生成過
打開命令窗口 查詢本地是否已有SSH秘鑰:
cat ~/.ssh/id_rsa.pub
如果之前使用過,可以看到如圖。
如果沒有,則說明沒有生成過,這里我的已經生成了
如果現實ssh-rsa或 ssh-dsa開頭的字符串,說明您本地已經有了,可以跳過下面b步.
b.生成公鑰
ssh-keygen -t rsa -C "*******@qq.com"
注解:引號內是你唯一Email,這里可以作為以后Git遠程倉庫使用.
該指令回車后,需要輸入鍵值對和密碼,直接回車就行.
c.獲取公鑰
cat ~/.ssh/id_rsa.pub
與a步一致,查看是否生成.
通過上面過程,會在本地客戶端生成一堆公鑰私鑰,目錄一般在/home的子目錄下
注意:這里我的用戶名hyh,所以在/home/hyh/.ssh目錄下
注意2: .ssh文件夾屬於隱藏文件夾
Linux圖形化界面可以使用:Ctrl+H快捷鍵查看
Shell命令窗口使用:ls -a
命令查看
/home/hyh下生成.ssh目錄,.ssh
下有id_rsa
和id_rsa.pub
四 配置遠程服務端
a.復制文件
復制本地客戶端文件到遠程服務端,使用scp進行上傳
本地運行(這里路徑使用自己配置,包括遠程IP):
scp -r /home/hyh/.ssh/id_rsa.pub root@10.97.0.10:/home/.ssh/id_rsa.pub
注意:我這里遠程服務器使用的是root用戶,直接在/home下的.ssh下,如果遠程還沒有該目錄,請自行先到遠程服務器mkdir .ssh
生成一個.
運行上面代碼,是要輸入密碼登錄的,輸入正確之后,會顯示上傳進度.
id_rsa.pub 100% 223 0.2KB/s 00:00
b.添加該文件到 authorzied_keys文件
$ cat id_rsa.pub >> .ssh/authorized_keys
c.設置權限
$ chmod 600 .ssh/authorized_keys
四 測試
在本地客戶端 ssh登錄遠程 服務端
$ ssh 10.97.0.10
OK...第一次登錄還需要再次輸入一次密碼。往后就不需要了
The authenticity of host '10.97.0.10 (10.97.0.10)' can't be established.
RSA key fingerprint is 00:a6:a8:87:eb:c7:40:10:39:cc:a0:eb:50:d9:6a:5b.
Are you sure you want to continue connecting (yes/no)? **yes**
Warning: Permanently added '192.168.1.181' (RSA) to the list of known hosts.
Last login: Thu Dec 29 23:31:17 2016 from 10.97.0.10
Welcome to aliyun Elastic Compute Service!
至此,完美的實現了客戶端免密碼登錄到服務端的配置。
SSH百科
SSH 為 Secure Shell 的縮寫,安全外殼協議,由 IETF 的網絡小組(Network Working Group)所制定;SSH 為建立在應用層基礎上的安全協議。SSH 是目前較可靠,專為遠程登錄會話和其他網絡服務提供安全性的協議。利用 SSH 協議可以有效防止遠程管理過程中的信息泄露問題。SSH最初是UNIX系統上的一個程序,后來又迅速擴展到其他操作平台。SSH在正確使用時可彌補網絡中的漏洞。SSH客戶端適用於多種平台。幾乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可運行SSH。
本文完
原創文章,轉發請注明出處:http://www.cnblogs.com/hyhnet/p/6253691.html
獨立博客:http://www.hanyahong.com
Wechat :wixf150