Secure Shell (SSH) 是一個容許兩臺電腦之間經過安全的鏈接進行數據交換的網絡協議。經過加密保證了數據的保密性和完整性。SSH採用公鑰加密技術來驗證遠程主機,以及(必要時)容許遠程主機驗證用戶。
1》傳統的FTP、Telnet是再網絡中明文傳送數據、用戶賬號和密碼,很容易受到中間人攻擊。而經過使用SSH,你能夠把全部傳輸的數據進行加密,這樣「中間人」這種攻擊方式就不可能實現了, 並且也可以防止DNS和IP欺騙。
2》第二個好處是:傳輸的數據是通過壓縮的,因此能夠加快傳輸的速度。
SSH利用SSH Key來進行前面提到的基於密鑰的安全驗證。
1》SSH-Key 就是一對密鑰對。【一個是公鑰,一個是私鑰】
2》公鑰是給別人用的。私鑰是給本身用的。
3》別人是誰?能夠是GitLab服務器。
本身是誰?能夠是本地。
4》舉個例子
4.1》本地想要使用git從gitHub/gitlab上拉取代碼。
4.2》給GitHub/GitLab配置公鑰,公鑰就能夠做爲一個加密的箱子,將代碼放在箱子裏。
4.3》被本地拉取到後,使用私鑰將加密的箱子打開。就能拿到代碼了。
4.4》整個過程當中,都沒有用戶名/密碼在網絡中傳輸,因此不會給他人攔截到,破解你的數據
5》因此,SSH-Key的直觀做用,就是【讓你方便的登陸到 SSH 服務器,而無需輸入密碼】
有RSA和DSA兩種認證密鑰
1》首先,你得在root目錄下
cd /root
2》查看是否已經存在SSH-Key【其實就是查看.ssh這個隱藏目錄是否存在】
ls -al ~/.ssh
若是沒有就新建,若是有,建議刪除再新建html
刪除命令【其實就是刪除.ssh這個隱藏目錄目錄】
rm -rf .ssh
3》新生成SSH-key【替換成你本身的郵箱】
ssh-keygen -t rsa -C "sxd4business@qq.com"
鍵入命令後,會讓你輸入密碼用來保護你的密鑰等,總共三次須要輸入的,你都直接三次回車就好!!linux
【關鍵是,設置了你本身之後忘了就得從新生成】git
【-C 是給你的密鑰設置註釋,你不想設置爲郵箱,設置成別的也行】安全
4》生成後,會在/root目錄下,也就是當前用戶的目錄下,生成一個.ssh隱藏目錄,目錄中會有【id_rsa】和【id_rsa.pub】兩個文件,一個是私鑰,一個是公鑰。你如今就能夠複製使用了
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEA36h8i3yc5glv7kURRNkkdrYYOkeDcUHF4PSi64ZL2DMGmu2/
mzHF3CDfISAZUFp3cTd0yqRIF7LAfmlQrbDmFDk+jwMELoeVurUa8yaCVyz0pqfR
44ZYeEBToz53GEJ9k8n2nfOPBSqxhjblRxJgCKv7PIPqEI53h7laBKagyZ6bN2qm
yMcEjQmQzId4Ub7pweEhLH6FyKCx/upF7DxfJe2EyzAZJfLzfkb7lz1roLlDRngc
Gmb+aPmam3lIQHDrFLzbwCCox638Xg1/6gpw4yIFYsZqSOUgfjbKO1j03JLEMtzA
PPrH+eFq83IO0wkgVd+1FxIGLj5KVG/ygftqcQIDAQABAoIBAAPqE/vw+2H/Skk2
Rj4ZOs0lFLl4ZPGHgCoWvf83Q36OLhBqFs9liJv4q08OG8NPQgXmPZIKXASmKT5N
I49WqEA0XEbue5VA5Dr3Tnhw9RkHfWSpTUAZKtU38v7JahYvm7kJcNqE17z0aVT7
AvpCdRHRyLzfZipSA/+JG+026Vt99b70wD4B8SO0wpXj0Jr3VmP0tAAbdtecZ3mv
EQIVr4W+7D6O+o625ZiG+rU1nhuqQCN17YCvbOc48LkxLJADzqccUiUmm7nNSo6a
YAWPClFEexLGdNkU6Xb90/ujxdGDYWwvVC0bS8tTstPbIYQZm4J2KsfceiPYThw2
wd59740CgYEA/vhI7+2hXUHbHFbPuSvNIBVHpMKH7/U7Quj7aZkKR2Sx6bkOKdzR
NPb7wVLZkZ3CxsuQLror/Ws4ZKLgdfmvbdrfA4gxZ7Te35egQnyYVIs1KyqzH27F
bkQ9fbmty8kZ5G3Rmgmi/4wkBybtgvpmH+5rQx8Oz5/uYmNV5Qh2PG8CgYEA4I/Q
3/ohKCdFJ8KhGAbvB6fkQ8QHVfn0CJ8TFhkC3S64XyXyXoDUASr81coCPw3RtB59
eS4HUL++GSZfvUEX8DANU8LQezwYdkxbPsgMI9z99kiySdbUW9+EIRpivozX97+E
7k4+XH0HrY0kC3W8TyzT6rVxsT0xyQaOw1HV9x8CgYEAgkW/ln82vFxipHciiTz9
AJB+24rdQ9hroANEOa8NFm83i/CWcQM3DTXIaf131rPhigsGLynGQiQfWyPxRbX+
UUXMPpS+kXtTiLCDHJVmi4PY9aZKgRvq2i0ZsfxF9WJZzWHi/y4/Twx+d/0Gy64+
sb/ypAfhXGodtb2FbJFHQBcCgYEAhEFvXVptiL6IJkCkrAf5Y2LoN1kOkP5jUWiO
zybv3uCTScaJlkr9kaqFukv9QrGa3iBO+b24JUCobxuAq2/Y72b9kmVccBgWuCWE
X9dl/wE6uYBbMM3LyEg+A1kM6vj8gTdUzR1b8RDaIsbLgcxXmbHnJYazbRWDasfn
8PUTtTUCgYEAvaGGJN3rakj8jkDDf1egeuRStJ+jfRVMm9NAqa+ELjDKW3fORCYE
wIlGveGn5S3trx28RBQY1DZxFsF0YlD2hkxH70AFEOYrE/mTqqPeZZdfLsb9yF8E
kKJBRhG94YGRSBHu2h6SnnfHoJV3yyk0LrPqyyC97A7lSqLN8fRaGm8=
-----END RSA PRIVATE KEY-----
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDfqHyLfJzmCW/uRRFE2SR2thg6R4NxQcXg9KLrhkvYMwaa7b+bMcXcIN8hIBlQWndxN3TKpEgXssB+aVCtsOYUOT6PAwQuh5W6tRrzJoJXLPSmp9Hjhlh4QFOjPncYQn2Tyfad848FKrGGNuVHEmAIq/s8g+oQjneHuVoEpqDJnps3aqbIxwSNCZDMh3hRvunB4SEsfoXIoLH+6kXsPF8l7YTLMBkl8vN+RvuXPWuguUNGeBwaZv5o+ZqbeUhAcOsUvNvAIKjHrfxeDX/qCnDjIgVixmpI5SB+Nso7WPTcksQy3MA8+sf54Wrzcg7TCSBV37UXEgYuPkpUb/KB+2px sxd4business@qq.com
-b:指定密鑰長度;
-e:讀取openssh的私鑰或者公鑰文件;
-C:添加註釋;
-f:指定用來保存密鑰的文件名;
-i:讀取未加密的ssh-v2兼容的私鑰/公鑰文件,而後在標準輸出設備上顯示openssh兼容的私鑰/公鑰;
-l:顯示公鑰文件的指紋數據;
-N:提供一個新密語;
-P:提供(舊)密語;
-q:靜默模式;
-t:指定要建立的密鑰類型。
================================================================服務器