欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報(bào)邀請(qǐng)碼778899分享:運(yùn)維 詳解ssh遠(yuǎn)程登錄服務(wù)

柚子快報(bào)邀請(qǐng)碼778899分享:運(yùn)維 詳解ssh遠(yuǎn)程登錄服務(wù)

http://yzkb.51969.com/

華子目錄

簡(jiǎn)介概念功能

分類文字接口圖形接口

文字接口ssh連接服務(wù)器淺淺介紹一下加密技術(shù)凱撒加密加密分類對(duì)稱加密非對(duì)稱加密非對(duì)稱加密方法(也叫公鑰加密)

ssh兩大類認(rèn)證方式:連接加密技術(shù)簡(jiǎn)介密鑰解析

ssh工作過程版本協(xié)商階段密鑰和算法協(xié)商階段認(rèn)證階段(兩種認(rèn)證方法)

ssh服務(wù)配置安裝ssh配置文件分析

ssh實(shí)驗(yàn)實(shí)驗(yàn)1實(shí)驗(yàn)2ubuntu

實(shí)驗(yàn)3實(shí)驗(yàn)4

簡(jiǎn)介

概念

遠(yuǎn)程連接服務(wù)器通過文字接口或圖形接口方式來遠(yuǎn)程登錄系統(tǒng),讓你在遠(yuǎn)程終端前登錄Linux主機(jī)以取得可操作主機(jī)接口(shell),而登錄后的操作感覺就像坐在系統(tǒng)前面一樣

功能

分享主機(jī)的運(yùn)算能力服務(wù)器類型:有限度開放連接工作站類型:只對(duì)內(nèi)網(wǎng)開放

分類

文字接口

明文傳輸:Telnet,RSH等,目前非常少用

這里我們可以使用wireshark抓包工具驗(yàn)證telnet明文傳輸

第一步:首先我們需要在Linux主機(jī)中安裝telnet服務(wù)

[root@server ~]# yum install telnet-server -y # 安裝telnet

[root@server ~]# systemctl start telnet.socket # 啟動(dòng)服務(wù)

第二步:使用MobaXterm建立telnet連接 輸入Linux主機(jī)密碼,進(jìn)入主機(jī) 第三步:?jiǎn)?dòng)wireshark,選擇VMnet8網(wǎng)卡 如果沒有wireshark,則可以在https://www.wireshark.org/download.html下載安裝wireshark,傻瓜式安裝即可 在MobaXterm中輸入ip a

[root@server ~]# ip a

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: ens160: mtu 1500 qdisc mq state UP group default qlen 1000

link/ether 00:0c:29:9e:1d:25 brd ff:ff:ff:ff:ff:ff

altname enp3s0

inet 192.168.80.129/24 brd 192.168.80.255 scope global noprefixroute ens160

valid_lft forever preferred_lft forever

inet6 fe80::20c:29ff:fe9e:1d25/64 scope link noprefixroute

valid_lft forever preferred_lft forever

在wireshark選擇記錄后單右鍵->追蹤流->TCP流 我們可以看到是明文傳輸

密文傳輸:ssh為主,已經(jīng)取代了明文傳輸 關(guān)閉上述的telnet連接,建立ssh連接,查看是否為密文傳輸 我們可以看到ssh為密文傳輸

圖形接口

XDMCP,VNC,XRDP等

文字接口ssh連接服務(wù)器

ssh(Secure Shell Protocol,安全殼程序協(xié)議)由IETF的網(wǎng)絡(luò)小組(Network Working Group)所制定,可以通過數(shù)據(jù)包加密技術(shù)將等待傳輸?shù)臄?shù)據(jù)包加密后再傳輸?shù)骄W(wǎng)絡(luò)上。ssh協(xié)議本身提供兩個(gè)服務(wù)器功能:

一個(gè)是類似telnet的遠(yuǎn)程連接使用shell的服務(wù)器;另一個(gè)就是類似ftp服務(wù)的sftp-server,提供更安全的ftp服務(wù)。

淺淺介紹一下加密技術(shù)

明文:原始消息

密文:加密后的消息

密鑰:加解密的關(guān)鍵參數(shù)

加密算法:替換,位置移動(dòng)等等

凱撒加密

明文:hello

密鑰:3

參考:

abcdefghijklmnopq...

defghijklmnopqrstuv...

密文:KHOOR

加密分類

對(duì)稱加密

加解密使用同一個(gè)密鑰,DES

非對(duì)稱加密

加解密雙方各用一對(duì)密鑰,公鑰和私鑰

公鑰:公共密鑰,存儲(chǔ)在公共的設(shè)備上,任何用戶都可以獲取私鑰:私有密鑰,存儲(chǔ)在個(gè)人計(jì)算機(jī)設(shè)備上,只有自己可以使用使用公鑰加密必須使用私鑰加密,使用私鑰加密必須使用公鑰解密

非對(duì)稱加密方法(也叫公鑰加密)

bob 公鑰b 私鑰b

alice 公鑰a 私鑰a

1.bob 公鑰b加密 <------> alice 私鑰b解密 (不成立)

2.bob 公鑰a加密 <------> alice 私鑰a解密 (能保證數(shù)據(jù)安全,但不能保證身份驗(yàn)證)

3.bob 私鑰b加密 <------> alice 公鑰b解密 (能進(jìn)行身份驗(yàn)證,但不能保證數(shù)據(jù)安全)

4.bob 私鑰a加密 <------> alice 公鑰a解密 (不成立)

所以,在生產(chǎn)中,也就只能使用23方法

非對(duì)稱加密使用rsa算法

數(shù)字證書

ssh兩大類認(rèn)證方式:

1.傳統(tǒng)的密碼認(rèn)證

2.密鑰認(rèn)證

連接加密技術(shù)簡(jiǎn)介

目前常見的網(wǎng)絡(luò)數(shù)據(jù)包加密技術(shù)通常是通過非對(duì)稱密鑰系統(tǒng)來處理的主要通過兩把不一樣的公鑰與私鑰來進(jìn)行加密與解密的過程

密鑰解析

公鑰(public key):提供給遠(yuǎn)程主機(jī)進(jìn)行數(shù)據(jù)加密的行為,所有人都可獲得你的公鑰來將數(shù)據(jù)加密私鑰(private key):遠(yuǎn)程主機(jī)用你的公鑰加密的數(shù)據(jù),在本地端就能使用私鑰來進(jìn)行加密,私鑰只有自己擁有。

ssh工作過程

服務(wù)端與客戶端要經(jīng)歷如下5個(gè)階段

版本協(xié)商階段

服務(wù)器端打開端口22(端口不會(huì)單獨(dú)出現(xiàn),必須和upd和tcp進(jìn)行綁定),等待客戶端連接;客戶端向服務(wù)器端發(fā)起TCP初始連接請(qǐng)求,TCP連接建立后,服務(wù)器向客戶端發(fā)送第一個(gè)報(bào)文,包括版本標(biāo)志字符串,格式為SSH-<主協(xié)議版本號(hào)>.<次協(xié)議版本號(hào)>.<軟件版本號(hào)>,協(xié)議版本號(hào)由主版本號(hào)和次版本號(hào)組成,軟件版本號(hào)主要是為調(diào)試使用。客戶端收到報(bào)文后,解析該數(shù)據(jù)包,如果服務(wù)器的協(xié)議版本號(hào)比自己的低,且客戶端能支持服務(wù)器端的低版本,就使用服務(wù)器端的低版本協(xié)議號(hào),否則使用自己的協(xié)議版本號(hào)。客戶端回應(yīng)服務(wù)器一個(gè)報(bào)文,包含了客戶端決定使用的協(xié)議版本號(hào)。服務(wù)器比較客戶端發(fā)來的版本號(hào),決定是否能同客戶端一起工作。如果協(xié)商成功,則進(jìn)入密鑰和算法協(xié)商階段,否則服務(wù)器斷開TCP連接注意:上述報(bào)文都是采用明文方式傳輸

密鑰和算法協(xié)商階段

服務(wù)器端和客戶端分別發(fā)送算法協(xié)商報(bào)文給對(duì)端,報(bào)文中包含自己支持的公鑰算法列表、加密算法列表、MAC(Message Authentication Code,消息驗(yàn)證碼)算法列表、壓縮算法列表等等服務(wù)器端和客戶端根據(jù)對(duì)端和本端支持的算法列表得出最終使用的算法服務(wù)器端和客戶端利用DH交換(Diffie-Hellman Exchange)算法、主機(jī)密鑰對(duì)等參數(shù),生成會(huì)話密鑰和會(huì)話ID。由此,服務(wù)器端和客戶端就取得了相同的會(huì)話密鑰和會(huì)話ID。對(duì)于后續(xù)傳輸?shù)臄?shù)據(jù),兩端都會(huì)使用會(huì)話密鑰進(jìn)行加密和解密,保證了數(shù)據(jù)傳送的安全。在認(rèn)證階段,兩端會(huì)使用會(huì)話用于認(rèn)證過程會(huì)話密鑰的生成:

客戶端需要使用適當(dāng)?shù)目蛻舳顺绦騺碚?qǐng)求連接服務(wù)器,服務(wù)器將服務(wù)器的公鑰發(fā)送給客戶端。(服務(wù)器的公鑰產(chǎn)生過程:服務(wù)器每次啟動(dòng)sshd服務(wù)時(shí),該服務(wù)會(huì)主動(dòng)去找/etc/ssh/ssh_host*文件,若系統(tǒng)剛裝完,由于沒有這些公鑰文件,因此sshd會(huì)主動(dòng)去計(jì)算出這些需要的公鑰文件,同時(shí)也會(huì)計(jì)算出服務(wù)器自己所需要的私鑰文件。)服務(wù)器生成會(huì)話ID,并將會(huì)話ID發(fā)給客戶端。若客戶端第一次連接到此服務(wù)器,則會(huì)將服務(wù)器的公鑰數(shù)據(jù)記錄到客戶端的用戶主目錄內(nèi)的~/.ssh/known_hosts。若是已經(jīng)記錄過該服務(wù)器的公鑰數(shù)據(jù),則客戶端會(huì)去比對(duì)此次接收到的與之前的記錄是否有差異??蛻舳松蓵?huì)話密鑰,并用服務(wù)器的公鑰加密后,發(fā)送給服務(wù)器。服務(wù)器用自己的私鑰將收到的數(shù)據(jù)解密,獲得會(huì)話密鑰。服務(wù)器和客戶端都知道了會(huì)話密鑰,以后的傳輸都將被會(huì)話密鑰加密

認(rèn)證階段(兩種認(rèn)證方法)

基于口令的認(rèn)證(password認(rèn)證):客戶端向服務(wù)器發(fā)出password認(rèn)證請(qǐng)求,將用戶名和密碼加密后發(fā)送給服務(wù)器,服務(wù)器將該信息解密后得到用戶名和密碼的明文,與設(shè)備上保存的用戶名和密碼進(jìn)行比較,并返回認(rèn)證成功或失敗消息。基于密鑰的認(rèn)證(publickey認(rèn)證):

客戶端產(chǎn)生一對(duì)公共密鑰,將公鑰保存到將要登錄的服務(wù)器上的那個(gè)賬號(hào)的家目錄的.ssh/authorized_keys文件中認(rèn)證階段:客戶端首先將公鑰傳給服務(wù)器端。服務(wù)器端收到公鑰后會(huì)與本地該賬號(hào)家目錄下的authorized_keys中的公鑰進(jìn)行對(duì)比,如果不相同,則認(rèn)證失??;否則服務(wù)端生成一段隨機(jī)字符串,并先后用客戶端公鑰和會(huì)話密鑰對(duì)其加密,發(fā)送給客戶端??蛻舳耸盏胶髮⒔饷芎蟮碾S機(jī)字符串用會(huì)話密鑰發(fā)送給服務(wù)器。如果發(fā)回的字符串與服務(wù)器端之前生成的一樣,則認(rèn)證通過,否則,認(rèn)證失敗。 注:服務(wù)器端對(duì)客戶端進(jìn)行認(rèn)證,如果認(rèn)證失敗,則向客戶端發(fā)送認(rèn)證失敗消息,其中包含可以再次認(rèn)證的方法列表??蛻舳藦恼J(rèn)證方法列表中選取一種認(rèn)證方法再次進(jìn)行認(rèn)證,該過程反復(fù)進(jìn)行。直到認(rèn)證成功或者認(rèn)證次數(shù)達(dá)到上限,服務(wù)器關(guān)閉連接為止

ssh服務(wù)配置

安裝ssh

[root@server ~]# yum install openssh-server -y

[root@server ~]# systemctl status sshd

配置文件分析

[root@server ~]# vim /etc/ssh/sshd_config

21.#Port 22 # 默認(rèn)監(jiān)聽22端口,可修改

22.#AddressFamily any # IPV4和IPV6協(xié)議家族用哪個(gè),any表示二者均有

23.#ListenAddress 0.0.0.0 # 指明監(jiān)控的地址,0.0.0.0表示本機(jī)的所有地址(默認(rèn)可修改)

24.#ListenAddress :: # 指明監(jiān)聽的IPV6的所有地址格式

26.#HostKey /etc/ssh/ssh_host_rsa_key # rsa私鑰認(rèn)證,默認(rèn)

27.#HostKey /etc/ssh/ssh_host_ecdsa_key # ecdsa私鑰認(rèn)證

28.#HostKey /etc/ssh/ssh_host_ed25519_key # ed25519私鑰認(rèn)證

34 #SyslogFacility AUTH # ssh登錄系統(tǒng)的時(shí)會(huì)記錄信息并保存在/var/log/secure

35.#LogLevel INFO # 日志的等級(jí)

39.#LoginGraceTime 2m # 登錄的寬限時(shí)間,默認(rèn)2分鐘沒有輸入密碼,則自動(dòng)斷開連接

40 #PermitRootLogin prohibit-password # 只允許root以密鑰形式登錄,不能以密碼的方式登錄 可以設(shè)置PermitRootLogin yes,允許管理員登錄

41.#StrictModes yes # 是否讓sshd去檢查用戶主目錄或相關(guān)文件的權(quán)限數(shù)據(jù)

42.#MaxAuthTries 6 # 最大認(rèn)證嘗試次數(shù),最多可以嘗試6次輸入密碼。之后需要等待某段時(shí)間后才能再次輸入密碼

43.#MaxSessions 10 # 允許的最大會(huì)話數(shù)

49.AuthorizedKeysFile .ssh/authorized_keys # 選擇基于密鑰驗(yàn)證時(shí),客戶端生成一對(duì)公私鑰之后,會(huì)將公鑰放到.ssh/authorizd_keys里面

65 #PasswordAuthentication yes # 登錄ssh時(shí)是否進(jìn)行密碼驗(yàn)證

66 #PermitEmptyPasswords no # 登錄ssh時(shí)是否允許密碼為空

……

123.Subsystem sftp /usr/libexec/openssh/sftp-server #支持 SFTP ,如果注釋掉,則不支持sftp連接

AllowUsers user1 user2 #登錄白名單(默認(rèn)沒有這個(gè)配置,需要自己手動(dòng)添加),允許遠(yuǎn)程登錄的用戶。如果名單中沒有的用戶,則提示拒絕登錄

ssh實(shí)驗(yàn)

實(shí)驗(yàn)1

配置ssh監(jiān)聽端口號(hào)第一步:server端操作,編輯配置文件

[root@server ~]# vim /etc/ssh/sshd_config

Port 2222 # 修改第21行參數(shù),去掉#,改為2222

第二步:server端操作,重啟服務(wù)

[root@server ~]# systemctl restart sshd

[root@server ~]# netstat -ntlp # 查看端口號(hào)是否改變

第三步:node1端操作,ssh登錄服務(wù)器

[root@node1 ~]# ssh root@192.168.80.129 # 默認(rèn)登錄會(huì)被拒絕,因?yàn)槲覀円呀?jīng)把端口號(hào)改了

ssh: connect to host 192.168.80.129 port 22: Connection refused

[root@node1 ~]# ssh -p 2222 root@192.168.80.129 # 使用-p執(zhí)行端口登錄

[root@server ~]#

注意:修改ssh端口號(hào)必須關(guān)閉selinux,或者說只要涉及修改端口的操作,都需要關(guān)閉selinux

# 定位server端,修改會(huì)原來的22端口

[root@server ~]# vim /etc/ssh/sshd_config

Port 22 # 修改第21行參數(shù),去掉#,改為22

[root@server ~]# systemctl restart sshd

[root@server ~]# netstat -ntlp

# 開啟selinux

[root@server ~]# vim /etc/selinux/config

SELINUX=enforcing # 改為enforcing即開啟

[root@server ~]# reboot # 重啟生效,等待

[root@server ~]# vim /etc/ssh/sshd_config # 重新修改端口號(hào)為2222

Port 2222

#重啟服務(wù)后會(huì)報(bào)錯(cuò),selinux會(huì)攔截端口號(hào)修改

[root@server ~]# systemctl restart sshd

Job for sshd.service failed because the control process exited with error code.

See "systemctl status sshd.service" and "journalctl -xeu sshd.service" for details. # 輸入這兩條提示命令可以進(jìn)行排錯(cuò)

[root@server ~]# setenforce 0 # 臨時(shí)關(guān)閉selinux,為1表示開啟selinux

[root@server ~]# getenforce # 查看selinux狀態(tài)

Permissive # 臨時(shí)關(guān)閉,不攔截但會(huì)記錄行為

[root@server ~]# systemctl restart sshd # 臨時(shí)關(guān)閉selinux后重啟服務(wù)成功

注意:修改端口這類的系統(tǒng)參數(shù),需要關(guān)閉selinux或配置selinux讓其放行

實(shí)驗(yàn)2

拒絕root賬戶遠(yuǎn)程登錄方法:使用配置文件中的Permitrootlogin參數(shù)進(jìn)行實(shí)現(xiàn)參數(shù)值: 注意:RHEL9系統(tǒng)在安裝系統(tǒng)時(shí)設(shè)置了允許使用root使用密碼登錄ssh時(shí),在 /etc/ssh/sshd_config.d目錄下會(huì)多一個(gè)文件01-permitrootlogin.conf,該文件會(huì)單獨(dú)記錄Permitrootlogin yes參數(shù),所以在設(shè)置允許root賬戶登錄ssh時(shí)應(yīng)在該文件中設(shè)置

[root@server ~]# ll /etc/ssh/sshd_config.d

總用量 8

-rw-r--r--. 1 root root 141 11月 10 23:42 01-permitrootlogin.conf

-rw-------. 1 root root 719 10月 30 18:23 50-redhat.conf

第一步:定位server,編輯配置文件

[root@server ~]# vim /etc/ssh/sshd_config.d/01-permitrootlogin.conf

PermitRootLogin no # yes修改為no,表示拒絕以root身份登錄服務(wù)器

[root@server ~]# systemctl restart sshd

第二步:定位node1,測(cè)試遠(yuǎn)程登錄

[root@node1 ~]# ssh -p 2222 root@192.168.48.130 # 以root身份登錄被拒絕

root@192.168.48.130's password:

Permission denied, please try again.

ubuntu

root@ubuntu:~# grep -i permitroot /etc/ssh/sshd_config

#PermitRootLogin prohibit-password

# the setting of "PermitRootLogin without-password".

實(shí)驗(yàn)3

虛擬機(jī)之間實(shí)現(xiàn)免密登錄

在做實(shí)驗(yàn)3之前,我們西安介紹一些基礎(chǔ)知識(shí)

ssh-keygen命令:用于生成,管理密鑰格式

[root@server ~]# ssh-keygen -t rsa

分析

-t:指定加密類型rsa:rsa公鑰加密算法,可以產(chǎn)生公鑰和私鑰注意:執(zhí)行后對(duì)應(yīng)賬戶目錄下的隱藏目錄.ssh中會(huì)有2個(gè)文件:

/root/.ssh/id_rsa:本機(jī)私鑰文件/root/.ssh/id_rsa.pub:本機(jī)公鑰文件 第一步:定位node1,制作公私對(duì)

[root@node1 ~]# ssh-keygen -t rsa

第二步:定位node1,將公鑰上傳

[root@node1 ~]# ssh-copy-id root@192.168.80.129 # 將node1公鑰上傳給129主機(jī)

The authenticity of host '192.168.48.130 (192.168.48.130)' can't be established.

ED25519 key fingerprint is SHA256:K7nvJFkfIh+p9YytEGR44wLbTfpB0Y52oVou0UdG6nc.

This key is not known by any other names

Are you sure you want to continue connecting (yes/no/[fingerprint])? yes #輸入

/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.48.130's password: # 輸入登錄密碼

Number of key(s) added: 1

Now try logging into the machine, with: "ssh 'root@192.168.48.130'"

and check to make sure that only the key(s) you wanted were added.

第三步:客戶端測(cè)試,在node1端進(jìn)行ssh登錄

[root@node1 ~]# ssh root@192.168.80.129

Activate the web console with: systemctl enable --now cockpit.socket

Register this system with Red Hat Insights: insights-client --register

Create an account or view all your systems at https://red.ht/insights-dashboard

Last failed login: Sun Nov 19 15:34:55 CST 2023 from 192.168.80.130 on ssh:notty

There were 6 failed login attempts since the last successful login.

Last login: Sun Nov 19 14:38:54 2023 from 192.168.80.1

[root@server ~]#

第四步:由于目標(biāo)時(shí)雙向免密,只需要在server端制作公私鑰對(duì),將其上傳給node1端即可

[root@server ~]# ssh-keygen -t rsa #當(dāng)這條命令一執(zhí)行后,就會(huì)在當(dāng)前用戶的家目錄下會(huì)有一個(gè).ssh的目錄,.ssh下會(huì)有id_rsa 和 id_rsa.pub

[root@server ~]# ssh-copy-id root@192.168.80.130 # 當(dāng)這條命令執(zhí)行后,192.168.80.130這臺(tái)主機(jī)上的當(dāng)前用戶的家目錄下的.ssh目錄下會(huì)出現(xiàn)authorized_keys這個(gè)文本

[root@server ~]# ssh root@192.168.80.130

Activate the web console with: systemctl enable --now cockpit.socket

Register this system with Red Hat Insights: insights-client --register

Create an account or view all your systems at https://red.ht/insights-dashboard

Last login: Sun Nov 19 15:42:21 2023 from 192.168.80.129

[root@node1 ~]#

最終實(shí)驗(yàn)3完成

實(shí)驗(yàn)4

xshell使用密鑰登錄之前xshell使用的時(shí)密碼登錄,現(xiàn)在通過密鑰的配置,實(shí)現(xiàn)無密碼登錄

# 注意:以下步驟檢查后若有authorized_keys文件則可忽略

# 先在服務(wù)器端檢查/root/.ssh/authorized_keys是否存在,它是存儲(chǔ)公鑰的文件,若不存在需要?jiǎng)?chuàng)建

# 服務(wù)器端操作

[root@server ~]# cd /root

[root@server ~]# ls -a # 先檢查

[root@server ~]# mkdir .ssh

[root@server ~]# cd .ssh

[root@server .ssh]# vim authorized_keys

#有時(shí)需要注意.ssh目錄的權(quán)限

柚子快報(bào)邀請(qǐng)碼778899分享:運(yùn)維 詳解ssh遠(yuǎn)程登錄服務(wù)

http://yzkb.51969.com/

好文推薦

評(píng)論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/19401824.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄