SSh遠端管理
阿新 • • 發佈:2021-08-07
SSh遠端管理
SSh遠端管理
ssh服務的概述
什麼是ssh
SSH是一個安全協議,在進行資料傳輸時,會對資料包進行加密處理,加密後在進行資料傳輸,確保了資料傳輸安全。
ssh服務作用
1.提供遠端連線伺服器的服務
2.對傳輸的資料進行加密
ssh相關命令
SSH有客戶端與服務端,我們將這種模式稱為C/S架構,ssh客戶端支援Windows、Linux、Mac等平臺。
在ssh客戶端中包含 ssh|slogin遠端登陸、scp遠端拷貝、sftp檔案傳輸、ssh-copy-id祕鑰分發等應用程式。
1.遠端連線命令
ssh [email protected] -p 52022 ssh:命令 root:要用哪個使用者連線(遠端伺服器的系統使用者) @:分隔符 39.104.203.184:遠端主機的IP -p:指定ssh的終端 [root@m01 ~]# ssh [email protected] Last login: Fri Jul 9 19:12:25 2021 from 10.0.0.61 [root@web01 ~]#
2.在遠端機器上執行命令,不用連線過去
[root@m01 ~]# ssh [email protected] 'df -h' Filesystem Size Used Avail Use% Mounted on /dev/sda3 19G 1.4G 18G 8% / devtmpfs 476M 0 476M 0% /dev tmpfs 487M 0 487M 0% /dev/shm tmpfs 487M 7.7M 479M 2% /run tmpfs 487M 0 487M 0% /sys/fs/cgroup /dev/sda1 497M 120M 378M 25% /boot tmpfs 98M 0 98M 0% /run/user/0 [root@m01 ~]# ssh [email protected] 'free -m' total used free shared buff/cache available Mem: 972 91 763 7 116 737 Swap: 1023 0 1023
3.遠端拷貝(全量)走的是ssh協議
[root@web02 ~]# scp -rp /var/www/html [email protected]:/tmp
[root@backup ~]# ll /tmp/
drwxr-xr-x 3 root root 106 Jul 9 02:12 html
-r:遞迴拷貝
-p:保持檔案的時間屬性
-P(大寫):指定埠
-l:限速
## 總結
1.scp通過ssh協議加密方式進行檔案或目錄拷貝。
2.scp連線時的使用者作為為拷貝檔案或目錄的許可權。
3.scp支援資料推送和拉取,每次都是全量拷貝,效率較低
SSH驗證方式
建立祕鑰對
[root@m01 ~]# ssh-keygen [root@m01 ~]# ll ~/.ssh/ ## 私鑰(鑰匙) -rw-------. 1 root root 1679 Jul 9 18:48 id_rsa ## 公鑰(鎖) -rw-r--r--. 1 root root 390 Jul 9 18:48 id_rsa.pub ## 記錄身份,第一次登陸客戶端需密碼,第二次登陸無需密碼 -rw-r--r--. 1 root root 682 Jul 9 19:12 known_hosts ## 將公鑰傳送給被管理端 [root@m01 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] -i:指定下發公鑰的路徑 ## 被管理端伺服器公鑰 [root@web02 ~]# ll /root/.ssh/ # 公鑰 -rw------- 1 root root 390 Jul 9 19:11 authorized_keys
ssh-copy-id這個命令做了哪些事
# 1.在被管理端家目錄建立了一個.ssh的隱藏目錄
[root@web02 ~]# mkdir /root/.ssh
# 2.將.ssh目錄許可權改為700
[root@web02 ~]# chmod 700 .ssh/
# 3.建立公鑰存放的檔案
[root@web02 .ssh]# vim authorized_keyssh-rsa
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCngoqU5oUWIiJtqw1e/MUwDLB7c/Br5L6I2fy6ri1KZyw3OuBd4Lv+5v3yNRlLW3ic5k8eFsJQhe6TSUHCE2GvIZUa6QgVpVBIKPFPypOYuBtFa4mPKTlSpIXxXqmDhdataU2Heur4sYC5zkgreiRtqu4+VjYxJ0EacH7Y1clQpCtRNrTW+szMMhBTlOhh5cEh9s/y2HDzBwH2/rZ5trbMyVbmwrugjhsz5ZPUu203bMt9sqNX80gkdvtEBCsf16Tu6f8b4xsST/yZgLV13hYiVFkJB+ESGM0/CTr1uc1JUDuLEVIb3AmyYNAc2KtiGdmaadalAORL7H2P0+tQr/a1 root@m01
# 4.修改公鑰存放檔案的許可權
[root@web02 .ssh]# chmod 600 ~/.ssh/authorized_keys
ssh安全優化
SSH作為遠端連線服務,通常我們需要考慮到該服務的安全,所以需要對該服務進行安全方面的配置。
1.更改遠端連線登陸的埠
2.禁止ROOT管理員直接登入
3.密碼認證方式改為金鑰認證
4.重要服務不使用公網IP地址
5.使用防火牆限制來源IP地址
修改配置檔案
[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