遠程連接服務器
一,遠程連接服務器簡介
1、什么是遠程連接服務器
?遠程連接服務器通過文字或圖形接口方式來遠程登錄系統(tǒng),讓你在遠程終端前登錄
?linux 主機以取得可操作主機接口(shell),而登錄后的操作感覺就像是坐在系統(tǒng)前
?面一樣。
2、遠程連接服務器的功能
分享主機的運算能力
服務器類型:有限度開放連接
工作站類型:只對內網(wǎng)開放
3、遠程連接服務器的類型(以登錄的連接界面來分類)
文字接口
明文傳輸:Telnet、RSH 等,目前非常少用
加密傳輸:SSH 為主,已經(jīng)取代明文傳輸
圖形接口:XDMCP、VNC、XRDP 等
?4、文字接口連接服務器
SSH(Secure Shell Protocol,安全的殼程序協(xié)議)它可以通過數(shù)據(jù)包加密技術將等
待傳輸?shù)臄?shù)據(jù)包加密后再傳輸?shù)骄W(wǎng)絡上。ssh 協(xié)議本身提供兩個服務器功能:一個是
類似 telnet 的遠程連接使用 shell 的服務器;另一個就是類似 ftp 服務的 sftp- server,
提供更安全的 ftp 服務。
?
?
二,連接加密技術
?
1,對稱加密:使用同一個秘鑰進行加密解密
? ? ? 缺點:不夠穩(wěn)定
? ? ? 優(yōu)點:效率高
2,非對稱加密;使用不同的秘鑰進行加密解密
? ? ? 非對稱加密:產(chǎn)生一對密鑰:公鑰(給別人)和私鑰(給自己)
? ? ? 用公鑰加密的只能用私鑰解密
3,兩種加密方式存在的問題
? ? ? 對稱加密的問題: 如何保證密鑰的安全
? ? ? 非對稱加密的問題:如何確保服務器的身份
? ? ? ssh服務使用對稱加密來傳輸數(shù)據(jù),使用非對稱加密來進行連接
4,SSH 工作過程:在整個通訊過程中,為實現(xiàn) SSH 的安全連接,服務端與客戶端要
? ? ? 經(jīng)歷如下五個階段:
<1>,版本號協(xié)商階段:ssh目前包括ssh1和ssh2兩個版本,雙方通過版本協(xié)商確定使用的版本
Client:SSH-2.0-OpenSSH_for_Windows_8.1
server:SSH-2.0-OpenSSH_8.0
<2>,秘鑰和算法協(xié)商階段
算法協(xié)商
Client:key exchange init
Server:key exchange init
秘鑰計算:
Client: key exchange init
Server: ecdh key? exchange reply ,new keys, encrypted packet
秘鑰協(xié)商階段(session-key)
7 %2取余? 其中的2為模數(shù)
2^3次方?? 2為基數(shù)
張三和李四溝通的基礎: 模數(shù):p, 基數(shù):g
張三和李四要進行溝通了:
張三先要想好一個私鑰a, 產(chǎn)生公鑰:A = g^a mod p, 張三將公鑰A交給李四
李四先想好一個私鑰b, 嘗試公鑰: B = g^b mod p,? 李四將公鑰交給張三
到目前為止:張三拿到了李四的公鑰B,以及自己的公鑰A, 私鑰a
?????????????????? 李四拿到了張三的公鑰A,以及自己的公鑰B,私鑰b
然后張三和李四各自根據(jù)ecdh算法進行計算:
k1 = B^a mod p
k2 = A^b mod p
如果k1=k2: 就產(chǎn)生了一個安全的密鑰key=k1=k2
>>> p=83
>>> g=8
>>> a=9
>>> b=21
>>> A=g**a % p
>>> A
5
>>> B=g**b % p
>>> B
18
>>> k1=B**a % p
>>> k2=A**b % p
>>> k1
24
>>> k2
24
key=k1=k2=24
?
<3>,認證階段(最終要階段)
(1)基于口令的認證
第一次登錄會把這些信息記錄在known_hosts文件中,下次登錄就會與文件中的秘鑰進行對比,相同直接登錄;自己認為可靠輸入yes連接? ?
? ? Win + r 輸入cmd
? ? ssh? root@192.168.206.131
?
在客戶端用戶下面的.ssh目錄中找known_hosts文件并刪除掉
?
刪除文件后, 再次連接,將會顯示提示信息
(2)基于秘鑰的認證(免密登錄)
三,有關免密登錄的配置?
配置一:
1,? 打開xshell,點擊工具,新建用戶秘鑰生成向導?
? 點擊下一步
點擊下一步
2,輸入并確認密碼
3,將此文件保存下來備用
?
4,點擊完成,會自動生成此秘鑰
?
5,連接linux,創(chuàng)建~/.ssh/目錄
6,在此目錄使用命令vim authorized_keys進入到文件中,把最上面保存的秘鑰添加到此文件
? ? ? 中,保存退出
?
7,新建連接
8,名稱輸入pubkey_login;主機輸入和原來服務器相同的ip
9,在用戶身份驗證輸入用戶名root,并在方法勾選public key,在設置里選擇剛才的用戶秘鑰,
? ? ?輸入密碼
10,完成后將出現(xiàn)下面界面,點擊連接
11,直接免密登錄成功
配置二:
第一臺作為客戶端
第二臺作為服務器
圖為秘鑰的類型,可以自己選擇類型
1,在Linux客戶端上使用命令ssh-keygen -t rsa -b 2048生成公鑰和私鑰
第一臺機器上(192.168.206.131);此命令為交互式命令;一直回車;-t 選擇類型?? -b字節(jié)大小
2,用ls -l查看文件;私鑰將保存到? /root/.ssh/id_rsa ;公鑰保存到? /root/.ssh/id_rsa.pub? ?
3,在客戶端(第一臺)把公鑰復制到服務器(第二臺)下的root用戶家目錄的下
? ? ? .ssh authorized_keys文件下面
ssh-copy-id命令知道目錄在哪里,會主動把.pub文件復制到服務器的authorized_keys文件中
ssh-copy-id -i root@192.168.206.132(服務器的IP)? 此處需要輸入密碼
4,免密登錄第二臺機器
配置三:
修改ssh服務端口號
Systemctl status sshd 查看sshd的服務狀態(tài)
Ss-tnl查看tcp監(jiān)聽的端口號
把22端口改為2222
1,打開 sshd_config 文件
?vim /etc/ssh/sshd_config
2,配置port 2222
:wq? 保存退出
3,使用命令Systemctl restart sshd重新啟動文件才會生效
4,使用命令Ss -tnl查看監(jiān)聽端口
5,此時登錄要加上端口號才能登錄成功:
配置四:
禁止root用戶遠程登錄
1,使用命令vim /etc/ssh/sshd_config打開配置文件
2,將PermitRootLogin? yes修該為PermitRootLogin? no
3,使用命令systemctl restart sshd重新啟動sshd服務,
4,重新連接登錄root用戶
5,登錄redhat 用戶
6,登錄成功
配置五:
linux連接linux而且redhat用戶的免密登錄
第一臺機器客戶端(192.168.206.131);第二臺機器服務器(192.168.206.132)
1,使用命令ssh-keygen -t rsa -b 2048在客戶端,生成公鑰和私鑰
?此時秘鑰將保存到文件中,/rhce/.ssh/id_rsa? (保存私鑰);/rhce/.ssh/id_rsa.pub? (公鑰)
2,使用命令ssh-copy-id -i root@192.168.206.132(服務器的IP)?把公鑰復制到服務器下的root用戶家目錄的下.ssh authorized_keys文件下面
3,此時可以使用第一臺機器的redhat用戶免密登錄第二臺機器
配置六:
windows要連接Linux: 而且要使用普通用戶redhat免密登錄
1.客戶端生成公鑰和私鑰
?? windows -》 xshell去生成
2. 把客戶端的公鑰放入:用戶家目錄下的.ssh/authorized_keys
???
1,新建生成向導
? 2,輸入秘鑰名稱,密碼
3,將秘鑰復制到文檔里備用
4,進入到redhat 用戶的家目錄下
5,使用命令ls -al?? 查看有沒有.ssh的目錄
如果沒有的話,創(chuàng)建一個
6,進入到此目錄中
7,使用命令 vim authorized_keys進入把之前復制的公鑰粘貼進去,保存退出去
8,新建連接
9,設置用戶名和私鑰
10,點擊連接
11,免密登錄成功
12,如果連接不上
? 使用命令tail -200 /var/log/secure查看問題在哪,一般是權限問題
修改權限
把文件的權限修改為600
把目錄的權限修改為700
Linux1 免密登錄 linux2 為什么沒有出現(xiàn)這個問題?
ssh-keygen -t rsa
ssh-copy-id redhat@192.168.233.233 -> 自動生成authorized_keys -> 600
配置七:
特定用戶登錄,添加用戶useradd user1;useradd user2 ;useradd user3;拒絕user3登錄
1,切換到root用戶
使用命令Vim /etc/ssh/sshd_config進入編輯
2,進入最底部使用命令AllowUser? user1 user2添加特定用戶(除了特定用戶,其他用戶無法
? ? ?登錄)
3,使用命令Systemctl resart sshd重啟服務
4,使用命令useradd user1;useradd user2 ;useradd user3創(chuàng)建3個用戶
5,設置密碼
Echo "123456" | passwd --stdin user1
Echo "123456" | passwd --stdin user2
Echo "123456" | passwd --stdin user3
6,登錄
文章來源:http://www.zghlxwxcb.cn/news/detail-793874.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-793874.html
到了這里,關于SSH遠程連接服務詳解的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!