1. 程式人生 > 其它 >SSH遠端連線協議

SSH遠端連線協議

SSH遠端連線協議

SSH協議概述

SSH是一個安全協議,在進行資料傳輸時,會對資料包進行加密處理,加密後在進行資料傳輸。確保了資料傳輸安
全。那SSH服務主要功能有哪些呢?

SSH相關的命令

## 1.遠端連線命令
ssh [email protected] -p 52022
ssh:命令
root:要用哪個使用者連線(遠端伺服器的系統使用者)
@:分隔符
39.104.203.184:遠端主機的IP
-p:指定ssh的埠

## 2.在遠端機器上執行命令,不用連線過去
[root@backup ~]# ssh [email protected] 'cat /etc/exports'
[root@backup ~]# ssh [email protected] 'ifconfig'

## 2.遠端拷貝(全量)走的是ssh協議
[root@web01 ~]# scp -rp /var/www/html/ [email protected]:/tmp/
-r:遞迴拷貝(目錄)
-p:保持檔案的時間屬性
-P:指定埠
-l:限速

SSH的驗證方式

建立祕鑰對

[root@m01 ~]# ssh-keygen

[root@m01 ~]# ll ~/.ssh/
## 私鑰(鑰匙)
-rw------- 1 root root 1675 Jul 9 18:48 id_rsa
## 公鑰(鎖)
-rw-r--r-- 1 root root 390 Jul 9 18:48 id_rsa.pub
## 將公鑰傳送給被管理端
[root@m01 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
## 被管理端的伺服器公鑰儲存後
[root@backup ~]# ll ~/.ssh/
total 8
-rw------- 1 root root 390 Jul 9 18:53 authorized_keys
-rw-r--r-- 1 root root 555 Jul 9 18:33 known_hosts

ssh-copy-id這個命令都幫我們做了哪些事

# 1.在被管理端建立了一個.ssh目錄在家目錄下
[root@web02 ~]# mkdir ~/.ssh
# 2.將.ssh目錄許可權修改為700
[root@web02 ~]# chmod 700 ~/.ssh
# 3.建立公鑰存放的檔案
[root@web02 .ssh]# vim authorized_keys
ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAABAQC9rD6jwAOHKAffRgz/nRVISeqCyieO8pMkDYwE2Oc+U/NrJtAuaiszl0
ND4NGMSOImoCAk/vgUajETApMamjMxLEIswkCL5PzmZHszD0R2sBFuJZ2xagVXForO1kWJkeiv20o7OjgxyRcf
MVnI1I+4EkDn8XAa26aDYGE27qyW0k6wnZoZU3jjRAIAcCAp2d/bef45rf3lw50NOmTU4qMEnl734siflhUhhE
Ur3xDu7urpcd8zLR5kmxgBGuEQVG2FbHaB6+Gn/mjEY8z/lO80b5PPAFqjaH3V4v09S7UDn9jhuiIfghtvqL7z
Ery4O2v17Tj4h+6vYX/z6QxZbVkj root@m01
# 4.修改公鑰存放檔案的許可權
[root@web02 .ssh]# chmod 600 ~/.ssh/authorized_keys

SSH場景實踐

SSH優化

[root@m01 ~]# vim /etc/ssh/sshd_config
## 埠
17 Port 6666
## 允許root登入
38 PermitRootLogin no
## 允許密碼登入
65 PasswordAuthentication no
## GSS介面認證
79 GSSAPIAuthentication no
## 使用DNS的反向解析
115 UseDNS no
## 重啟ssh服務
[root@m01 ~]# systemctl restart sshd