什么是ssh
SSH即安全外殼協(xié)議(Secure Shell),是一種網(wǎng)絡(luò)協(xié)議,用于在計(jì)算機(jī)網(wǎng)絡(luò)上提供安全的遠(yuǎn)程登錄和命令執(zhí)行功能。SSH通過加密通信通道來保護(hù)數(shù)據(jù)傳輸,防止敏感信息在傳輸過程中被竊聽或篡改。SSH支持多種身份驗(yàn)證方法,包括密碼、公鑰和證書等,以確保只有授權(quán)用戶能夠訪問系統(tǒng)。除了遠(yuǎn)程登錄,SSH還支持文件傳輸和端口轉(zhuǎn)發(fā)等功能,使得SSH成為一種廣泛使用的安全遠(yuǎn)程管理工具。
ssh原理
1.客戶端連接服務(wù)器的SSH服務(wù)端口(默認(rèn)是22),發(fā)送隨機(jī)數(shù)、支持的加密算法列表、SSH版本號(hào)等信息。
2.服務(wù)器端SSH服務(wù)端程序會(huì)選擇一個(gè)加密算法和HASH算法,并生成自己的公鑰,發(fā)送給客戶端。
3.客戶端收到服務(wù)器的公鑰后,會(huì)進(jìn)行驗(yàn)證,如果公鑰合法,客戶端會(huì)生成會(huì)話密鑰,用服務(wù)器的公鑰加密,發(fā)送給服務(wù)器。
4.服務(wù)器收到客戶端發(fā)來的會(huì)話密鑰后,用自己的私鑰解密,確認(rèn)會(huì)話密鑰的合法性。
5.服務(wù)器和客戶端用會(huì)話密鑰、HASH算法、加密算法等信息生成一個(gè)新的密鑰,用于后續(xù)數(shù)據(jù)傳輸?shù)募用堋?/p>
6.完成上述過程后,客戶端和服務(wù)器端就可以開始進(jìn)行加密的數(shù)據(jù)傳輸了。
ssh登錄
ssh [遠(yuǎn)程主機(jī)用戶名]@[遠(yuǎn)程服務(wù)器主機(jī)名或IP地址] -p
-l :-l 選項(xiàng),指定登錄名稱。
-p: -p 選項(xiàng),指定登錄端口(當(dāng)服務(wù)端的端口非默認(rèn)時(shí),需要使用-p 指定端口進(jìn)行登錄)
[root@localhost named]# ssh 192.168.10.20 #若沒有修改配置,默認(rèn)的端口為22 The authenticity of host '192.168.10.20 (192.168.10.20)' can't be established. ECDSA key fingerprint is SHA256:KtaBKXckd5FGPVjjbVKvTH7FlTeo5/gNAXFWe9UlBlY. ECDSA key fingerprint is MD55fa473:0a92:7e:3542:8ebb. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.10.20' (ECDSA) to the list of known hosts. root@192.168.10.20's password: Last failed login: Sun May 5 15:12:57 CST 2024 from 192.168.10.10 on ssh:notty There was 1 failed login attempt since the last successful login. Last login: Sat May 4 17:08:06 2024 from 192.168.10.1 [root@localhost ~]# ##這是192.168.10.20里
服務(wù)器ssh配置
ssh配置文件:/etc/ssh/sshd-config
通過修改配置文件來改變ssh的配置
ListenAddress ip #監(jiān)聽地址設(shè)置SSHD服務(wù)器綁定的IP 地址,0.0.0.0 表示偵聽所有地址安全建議:如果主機(jī)不需要從公網(wǎng)ssh訪問,可以把監(jiān)聽地址改為內(nèi)網(wǎng)地址 這個(gè)值可以寫成本地IP地址,也可以寫成所有地址,即0.0.0.0 表示所有IP。 LoginGraceTime 2m #用來設(shè)定如果用戶登錄失敗,在切斷連接前服務(wù)器需要等待的時(shí)間,單位為秒 PermitRootLogin yes #默認(rèn) ubuntu不允許root遠(yuǎn)程ssh登錄 StrictModes yes #檢查.ssh/文件的所有者,權(quán)限等 MaxAuthTries #用來設(shè)置最大失敗嘗試登陸次數(shù)為6 MaxSessions 10 #同一個(gè)連接最大會(huì)話 PubkeyAuthentication yes #基于key驗(yàn)證 PermitEmptyPasswords no #密碼驗(yàn)證當(dāng)然是需要的!所以這里寫 yes,也可以設(shè)置為 no,在真實(shí)的生產(chǎn)服務(wù)器上,根據(jù)不同安全級(jí)別要求,有的是設(shè)置不需要密碼登陸的,通過認(rèn)證的秘鑰來登陸。 PasswordAuthentication yes #基于用戶名和密碼連接 GatewayPorts no ClientAliveInterval 10 #單位:秒 ClientAliveCountMax 3 #默認(rèn)3 UseDNS yes #提高速度可改為no 內(nèi)網(wǎng)改為no 禁用反向解析 GSSAPIAuthentication yes #提高速度可改為no MaxStartups #未認(rèn)證連接最大值,默認(rèn)值10 Banner /path/file #以下可以限制可登錄用戶的辦法:白名單 黑名單 #修改默認(rèn)端口 [root@localhost ssh]#vim /etc/ssh/sshd_config #17 行修改自己默認(rèn)的端口 17 Port 9527
ssh免密登錄
通過ssh來生成并發(fā)送到指定的IP地址
[root@localhost ~]# ssh-keygen -t rsa#生成ssh的公密鑰 Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_rsa already exists. Overwrite (y/n)? y Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:4yEc1dbyJg7OaJoB7HV8em3EpJgrmFV9w0tQcEqcR0Q root@localhost.localdomain The key's randomart image is: +---[RSA 2048]----+ | o=@E. | | .o+o@ . | | . o.o.O = | | o o.=.+ = o | | . * .oBS= o | | + o =o+o+ | | * ... | | o | | | +----[SHA256]-----+ [root@localhost ~]# ssh-copy-id -i root@192.168.10.10 #發(fā)送到 /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub" /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys root@192.168.10.10's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'root@192.168.10.10'" and check to make sure that only the key(s) you wanted were added. [root@localhost ~]# ssh root@192.168.10.10 Last login: Sun May 5 16:58:06 2024 from 192.168.10.20 [root@localhost ~]# ssh-copy-id -i root@服務(wù)端IP#將密鑰文件拷貝給服務(wù)端,并輸入一次服務(wù)器端密碼
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
9123瀏覽量
85322 -
SSH協(xié)議
+關(guān)注
關(guān)注
0文章
5瀏覽量
1607
原文標(biāo)題:新手必看!深入解析SSH協(xié)議,輕松實(shí)現(xiàn)安全高效的服務(wù)器管理
文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論