如果你想擁有你從未擁有過的東西,那么你必須去做你從未做過的事情
????????作為一名成熟運維架構師,我們需要管理的服務器會達到幾十臺,上百臺,上千臺,甚至是上萬臺服務器,而且咱們的服務器還不一定都在一個機房,甚至不在一個城市,那么問題來了,我總不能跑到機房去一臺一臺的連接服務器去操作吧,不說多,有個四十臺每臺單獨去操作足夠我忙一個星期了,我們需要一個工具,讓我們足不出戶去管理這么多的服務器,這時候就需要用到一個服務——ssh
目錄
一、ssh遠程連接和OpenSSH服務
二、ssh遠程連接
三、scp命令
四、ssh遠程免密鑰連接
五、ssh遠程執行命令
六、遠程免密連接(不登陸用戶)
1、windows界面使用xshell軟件,選擇工具;
2、選擇新建用戶密鑰生成向導
?3、點擊下一步
4、點擊下一步
5、不填密碼
6、將服務器生成的公鑰粘貼到公鑰的文本欄
七、免密鏈接失敗檢查權限問題
💬歡迎交流:在學習過程中如果你有任何疑問或想法,歡迎在評論區留言,我們可以共同探討學習的內容。你的支持是我持續創作的動力!
👍點贊、收藏與推薦:如果你覺得這篇文章對你有所幫助,請不要忘記點贊、收藏,并分享給更多的小伙伴!你們的鼓勵是我不斷進步的源泉!
🚀推廣給更多人:如果你認為這篇文章對你有幫助,歡迎分享給更多對Linux感興趣的朋友,讓我們一起進步,共同提升!
一、ssh遠程連接和OpenSSH服務
SSH(Secure Shell)概述SSH 是一種網絡協議,如前面所說,它主要用于在不安全的網絡環境中提供安全的遠程登錄和其他網絡服務。它是一個比較抽象的概念,規定了通信的規則和安全機制等諸多內容。
OpenSSH 概述OpenSSH 是 SSH 協議的一個免費開源實現。它包含了一系列的工具,如ssh(用于遠程登錄)、scp(安全拷貝文件)、sftp(SSH 文件傳輸協議)等。
OpenSSH 在各種操作系統中廣泛應用,是目前實現 SSH 功能的主流軟件之一。例如,在 Linux 和 Unix 系統中,它幾乎是默認安裝的,并且是系統管理員進行遠程管理和文件傳輸的重要工具。
關系與區別關系:OpenSSH 遵循 SSH 協議來實現功能。也就是說,SSH 協議定義了要達到的安全遠程通信的目標和規則,OpenSSH 是具體實現這些規則的軟件。
區別:SSH 是一個協議標準,它只是規定了如何進行安全的遠程連接等操作,本身沒有具體的代碼實現。而 OpenSSH 是一個實際的軟件套件,有具體的代碼編寫和功能實現,可以直接安裝和使用。SSH 協議可以有多種實現方式,除了 OpenSSH 外,還有其他商業的或者非開源的實現。但是 OpenSSH 由于其開源性、穩定性和廣泛的社區支持,成為了最受歡迎的 SSH 實現方式之一。
二、ssh遠程連接
1.windows連接linux服務器 過程中都需要彈框提供密碼
ssh root@10.0.0.41 ? ? ? ? ? ? ? ? ? ? ?# 默認使用22端口
ssh root@10.0.0.41 2222 ? ? ? ? ? ? ? ? # 指定端口遠程連接
2.linux服務器連接linux服務器
默認22端口
默認使用當前登錄系統的用戶遠程連接
[root@nfs ~]#ssh root@10.0.0.41
[root@nfs ~]#ssh -p2222 root@10.0.0.41 # 指定遠程端口
其他注意:
服務器: 可以用IP 域名 主機名稱
[root@nfs ~]#cat /etc/hosts
127.0.0.1 ? localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 ? ? ? ? localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.41 backup
[root@nfs ~]#ssh -p2222 backup
[root@nfs ~]#ssh linuxnc.com
三、scp命令
默認使用的22端口
默認使用當前登錄的用戶
拉取:目標服務器+路徑+本地預拉取路徑
推送:本地路徑文件+目標服務器+路徑
案例1.將41本地的test.txt 傳送到10.0.0.31的家目錄
[root@backup ~]#touch test.txt
[root@backup ~]#ll
total 0-rw-r--r-- 1 root root 0 Apr 11 09:54 test.txt
[root@backup ~]#scp test.txt 10.0.0.31:~
案例2.將31的hosts文件拉取到當前目錄
[root@backup ~]#scp 172.16.1.31:/etc/hosts .
案例3.指定端口-P
[root@nfs ~]##將test.txt 推送到41的/opt目錄下
[root@nfs ~]#scp -P2222 test.txt 10.0.0.41:/opt/
案例4.拷貝目錄需要-r參數遞歸
[root@backup ~]#scp -r /etc 10.0.0.31:/root/
四、ssh遠程免密鑰連接
ssh遠程連接兩種方式:
方法1: 基于用戶和密碼 ? ? 超市購物 刷卡輸入密碼
方法2: 基于秘鑰的方式驗證 人臉驗證
第一步: 生成秘鑰對 一把鎖和一把鑰匙
[root@backup ~]#ssh-keygen ? #一路回車
[root@backup ~]#ll .ssh/
total 12-rw------- 1 root root 1679 Apr 11 10:22 id_rsa-rw-r--r-- 1 root root ?393 Apr 11 10:22 id_rsa.pub
第二步:將公鑰發送到需要免秘連接的服務器
[root@backup ~]#ssh-copy-id -i .ssh/id_rsa.pub 172.16.1.31
或者簡寫,默認查找/root/.ssh/id_rsa.pub
[root@backup ~]#ssh-copy-id 172.16.1.31
第三步: 遠程連接測試
[root@backup ~]#ssh 10.0.0.31
Last login: Thu Apr 11 10:25:51 2024 from 10.0.0.41
[root@nfs ~]#
五、ssh遠程執行命令
案例1.在41服務器上遠程在7服務器上創建test.txt文件
[root@backup ~]# ssh 10.0.0.7 'touch test.txt'
案例2.查看10.0.0.7的主機名稱
[root@backup ~]#ssh 10.0.0.7 "hostname"
root@10.0.0.7's password:
web01
###盡量避免交互,vim less -f 避免使用
六、遠程免密連接(不登陸用戶)
第一步: nfs服務器生成秘鑰對
[root@nfs ~]#ssh-keygen
第二步: 傳送的方式有兩種
第一種方法: 使用ssh-copy-id 的方式遠程發送給10.0.0.7[root@nfs ~]#ssh-copy-id -i .ssh/id_rsa.pub 10.0.0.7
默認會在10.0.0.7服務器的家目錄下隱藏目錄下.ssh生成-rw------- 1 root root 390 Apr 11 11:43 authorized_keys
或者使用第二種發送方式: 只在windows的xshell連接linux的時候才使用
[root@web01 ~]#vim .ssh/authorized_keys
將公鑰粘貼進來
在修改文件的權限為600
[root@web01 ~]# chmod 600 .ssh/authorized_keys
第三步: ssh 10.0.0.7 免秘鑰連接
企業做免秘鑰出現問題最多的:
一切都沒問題后還是無法免秘鑰連接: 需要檢查每層目錄的權限 一直到/目錄
[root@web01 ~]#cd .ssh/
[root@web01 .ssh]#ll
total 8-rw------- 1 root root 390 Apr 11 11:46 authorized_keys-rw-r--r-- 1 root root 344 Apr 10 08:39 known_hosts
[root@web01 .ssh]#pwd
/root/.ssh
.ssh必須是700
root權限必須是550
/ ? 權限必須是555
切記一定不要使用-R遞歸修改root的權限
[root@web01 ~]#ll -d /root
drwxr-xr-x. 5 1001 1001 180 Apr 11 11:46 /root
[root@web01 ~]#chmod 550 /root
[root@web01 ~]#ll -d /root
dr-xr-x---. 5 1001 1001 180 Apr 11 11:46 /root
[root@web01 ~]#chown root.root /root
[root@web01 ~]#ll -d /root
dr-xr-x---. 5 root root 180 Apr 11 11:46 /root
1、windows界面使用xshell軟件,選擇工具;
?
2、選擇新建用戶密鑰生成向導
?3、點擊下一步
4、點擊下一步
5、不填密碼
6、將服務器生成的公鑰粘貼到公鑰的文本欄
將公鑰寫入
[root@nfs ~]#vim .ssh/authorized_keys
修改無密碼登錄
[root@nfs ~]#vim /etc/ssh/sshd_config
65 PasswordAuthentication yes ? #65行yes改為no(實驗完成改回)
重啟ssh服務
七、免密鏈接失敗檢查權限問題
企業做免秘鑰出現問題最多的:
一切都沒問題后還是無法免秘鑰連接: 需要檢查每層目錄的權限 一直到/目錄
[root@web01 ~]#cd .ssh/
[root@web01 .ssh]#ll
total 8-rw------- 1 root root 390 Apr 11 11:46 authorized_keys-rw-r--r-- 1 root root 344 Apr 10 08:39 known_hosts
[root@web01 .ssh]#pwd
/root/.ssh
.ssh必須是700
root權限必須是550
/ ? 權限必須是555
切忌一定不要使用-R遞歸修改root的權限
[root@web01 ~]#ll -d /root
drwxr-xr-x. 5 1001 1001 180 Apr 11 11:46 /root
[root@web01 ~]#chmod 550 /root
[root@web01 ~]#ll -d /root
dr-xr-x---. 5 1001 1001 180 Apr 11 11:46 /root
[root@web01 ~]#chown root.root /root
[root@web01 ~]#ll -d /rootdr-xr-x---. 5 root root 180 Apr 11 11:46 /root
ssh服務的學習到此告一段落了,明天學點好玩的東西,中間件~~~~
想成為大佬,就要從小白開始,從0開始,一點一點的積累,慢慢成長,明天你就是大佬!!想學習更多麒麟操作系統的知識,關注小屁,讓你成為運維老鳥~~~~~