網站首頁 編程語言 正文
一、SSH遠程管理
SSH定義
- SSH(Secure Shell)是一種安全通道協議,主要用來實現字符界面的遠程登錄、遠程復制等功能。
- SSH協議對通信雙方的數據傳輸進行了加密處理,其中包括用戶登錄時輸入的用戶口令。因此SSH協議具有很好的安全性。
SSH優點
- 數據傳輸是加密的,可以防止信息泄漏
- 數據傳輸是壓縮的,可以提高傳輸速度
SSH配置文件
- sshd 服務的默認配置文件是/etc/ssh/sshd_config
- ssh_config和sshd_config都是ssh服務器的配置文件
二者區別在于ssh_config是針對客戶端的配置文件,sshd_config則是針對服務端的配置文件。
SSH客戶端與與服務端
- SSH客戶端:Putty、Xshell、CRT
- SSH服務端:OpenSSH
- OpenSSH 是實現 SSH 協議的開源軟件項目,適用于各種 UNIX、Linux 操作系統。
CentOS 7系統默認已安裝openssh相關軟件包,并已將 sshd 服務添加為開機自啟動。
二、配置OpenSSH服務端
1、shd_config配置文件的常用選項設置
vim /etc/ssh/sshd_config Port 22 #監聽端口為22 ListenAddress 0.0.0.0 #監聽地址為任意網段,也可以指定OpenSSH服務器的具體IP LoginGraceTime 2m #登錄驗證時間為2分鐘 PermitRootLogin no #禁止root用戶登錄 MaxAuthTries 6 #最大重試次數為 6 PermitEmptyPasswords no #禁止空密碼用戶登錄 UseDNS no #禁用 DNS 反向解析,以提高服務器的響應速度 #只允許zhangsan、lisi、wangwu用戶登錄,且其中wangwu用戶僅能夠從IP地址為61.23.24.25 的主機遠程登錄 AllowUsers zhangsan lisi wangwu@61.23.24.25 #多個用戶以空格分隔 #禁止某些用戶登錄,用法于AllowUsers 類似(注意不要同時使用) DenyUsers zhangsan
2、Allowusers與Denyusers
Allowusers…… #僅允許某某用戶登陸 Denyusers …… #禁止某些用戶登錄,用法于AllowUsers 類似(注意不要同時使用)
3、遠程復制
scp root@192.168.86.10:/etc/passwd /root/passwd10.txt
4、sftp安全FTP
由于使用了加密/解密技術,所以傳輸效率比普通的FTP要低,但安全性更高。操作語法sftp與ftp幾乎一樣。
sftp root@192.168.184.20 sftp> ls sftp> get 文件名 #下載文件到ftp目錄 sftp> put 文件名 #上傳文件到ftp目錄 sftp> quit #退出
三、sshd服務支持驗證的方式
密碼驗證
對服務器中本地系統用戶的登錄名稱、密碼進行驗證。簡便,但可能會被暴力破解,暴力破解可看之前博客有詳細描述系統弱口令檢測
密鑰對驗證
要求提供相匹配的密鑰信息才能通過驗證。通常先在客戶端中創建一對密鑰文件(公鑰、私鑰),然后將公鑰文件放到服務器中的指定位置。遠程登錄時,系統將使用公鑰、私鑰進行加密/解密關聯驗證。能增強安全性,且可以免交互登錄。
當密碼驗證、密鑰對驗證都啟用時,服務器將優先使用密鑰對驗證。可根據實際情況設置驗證方式。
vim /etc/ssh/sshd_config #編輯服務端主配置文件 PasswordAuthentication yes #啟用密碼驗證 PubkeyAuthentication yes #啟用密鑰對驗證 AuthorizedKeysFile .ssh/authorized_keys #指定公鑰庫文件
在客戶端創建密鑰對
通過ssh-keygen工具為當前用戶創建密鑰對文件。可用的加密算法為RSA、ECDSA或DSA等(ssh-keygen命令的“-t”選項用于指定算法類型)。
useradd admin echo "123123" | passwd --stdin admin su - admin ssh-keygen -t ecdsa Generating public/private ecdsa key pair. Enter file in which to save the key (/home/admin/.ssh/id_ecdsa): #指定私鑰位置,直接回車使用默認位置 Created directory '/home/admin/.ssh'. #生成的私鑰、公鑰文件默認存放在宿主目錄中的隱藏目錄.ssh/下 Enter passphrase (empty for no passphrase): #設置私鑰的密碼 Enter same passphrase again: #確認輸入 ls -l .ssh/id_ecdsa*#id_ecdsa是私鑰文件,權限默認為600;id_ecdsa.pub是公鑰文件,用來提供給 SSH 服務器
在服務器的/home/zhangsan/.ssh/目錄中導入公鑰文本
cd ~/.ssh/ ssh-copy-id -i id_ecdsa.pub zhangsan@192.168.80.10
在客戶端使用密鑰對驗證
ssh zhangsan@192.168.86.10 lisi@192.168.86.10's password: #輸入私鑰的密碼
在客戶機設置ssh代理功能,實現免交互登錄
ssh-agent bash ssh-add Enter passphrase for /home/admin/.ssh/id_ecdsa: #輸入私鑰的密碼 ssh zhangsan@192.168.80.10
*補充
scp ~/.ssh/id_ecdsa.pub root@192.168.80.10:/opt #將本機~/.ssh目錄下的公鑰上傳到服務器的/opt目錄里 mkdir /home/zhangsan/.ssh/ #在服務器/home/zhangsan/目錄下創建一個.ssh目錄 cat /opt/id_ecdsa.pub >> /home/zhangsan/.ssh/authorized_keys #在服務器將/opt目錄下的公鑰文件追加到/home/zhangsan/.ssh/目錄中的authorzed_keys文件中 cat /home/zhangsan/.ssh/authorized_keys #在服務器查看/home/zhangsan/.ssh/authorized_keys文件
原文鏈接:https://blog.csdn.net/Guiled7/article/details/121638601
相關推薦
- 2023-04-22 GO的range如何使用詳解_Golang
- 2022-07-30 Golang?獲取系統信息的實現_Golang
- 2024-03-03 layui 表格select下拉不顯示全的問題
- 2022-10-29 【npm 報錯 gyp info it worked if it ends with ok 大概率是
- 2023-03-18 Kotlin?Fragment使用方法詳解_Android
- 2023-03-02 docker-compose安裝RabbitMQ及插件操作步驟_docker
- 2022-03-18 Linux系統配置(服務控制)詳細介紹_Linux
- 2022-03-27 centos7安裝mongo數據庫的方法(mongo4.2.8)_MongoDB
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支