SSH服務

作用:基於C/S架構的服務,建立TCP上的一個遠程登錄服務,該服務監聽與衆所周知的22號端口之上

基於軟件的具體實現:

OpenSSH: ssh協議的開源實現,CentOS默認安裝
dropbear:另一個開源實現

注:dropbear在bosybox上可以安裝此服務實現遠程登錄

SSH的協議版本:
v1: 基於CRC-32做MAC,不安全;man-in-middle
v2:雙方主機協議選擇安全的MAC方式
基於DH算法做密鑰交換,基於RSA或DSA實現身份認證

配置文件詳解:
服務器端陪住文件:/etc/ssh/sshd_config
客戶端配置文件:/etc/ssh/ssh_config
ask:詢問是不是需要將對方主機的公鑰,ask代表需要,可以改成no,那麼就不需要輸入yes
SSH服務
端口號:可以修改成別的端口號,客戶端在登錄時要指定端口號纔可以
改服務器端的配置文件,把端口號改成別的端口號
vim /etc/ssh/ssh_config
SSH服務
改完之後重啓服務
systemctl restart sshd
SSH服務
用別的主機連此主機的2222號端口
ssh 192.168.1.11 -p 2222
SSH服務
用法:
執行一次性任務,會打印在標準輸出上,執行完後會退出當前的主機
SSH服務
-p :指定連接的端口號

基於key的驗證(我想要連接誰,不需要密碼,就把自己的公鑰拷貝給別人):
1, 首先在客戶端生成一對密鑰(公鑰和私鑰),在家目錄下的.ssh目錄中
交互式生成:ssh-keygen -t rsa
命令生成:ssh-kengen -t rsa -N ' ' -f /root/.ssh/id_rsa
Enter file in which to save the key (/root/.ssh/id_rsa):指定生成的密鑰存放的目錄,默認存放在/root/.ssh/id_rsa下,可以不輸入
Enter passphrase (empty for no passphrase):輸入密鑰的加密密碼,可以不輸入
Enter same passphrase again:再次確認輸入的密碼
SSH服務
2,客戶端把公鑰拷貝到服務器的.ssh目錄下,默認拷貝到root目錄下
ssh-copy-id -i .ssh/id_rsa 192.168.1.12
SSH服務
3,服務器基於key驗證,不用再主機上執行任何服務
在要登錄的主機上啓用ssh的代理服務,不需要輸入密鑰的密碼
SSH服務
幾臺主機之間連接不需要密碼,把生成的密鑰對分別拷貝到這幾臺主機上。相當於這幾臺主機用的是相同的key

1,把之前生成的文件在三臺主機之間相互拷貝,在主機之間相互連接時,相當於連接自己的端口,所以不需要任何密碼
scp -rp .ssh 192.168.1.12:/root/
SSH服務

2,在要登錄的主機上啓用ssh的代理服務
ssh-agent bash
ssh-add
SSH服務
注:
scp拷貝的缺點:會拷貝已經存在的文件,沒有任何意義,相當於Windows中的替換功能

rsync:
相對於scp,rsync並且會跳過已經存在的文件,(用rsync實現連個服務器之間目錄的同步)

注:
使用安全的shell連接做爲傳輸方式
rsync -av /etc server1:/tmp 複製目錄和目錄下文件
rsync -av /etc/ server1:/tmp 只複製目錄下文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章