網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
一、SSH遠(yuǎn)程管理
SSH定義
- SSH(Secure Shell)是一種安全通道協(xié)議,主要用來(lái)實(shí)現(xiàn)字符界面的遠(yuǎn)程登錄、遠(yuǎn)程復(fù)制等功能。
- SSH協(xié)議對(duì)通信雙方的數(shù)據(jù)傳輸進(jìn)行了加密處理,其中包括用戶登錄時(shí)輸入的用戶口令。因此SSH協(xié)議具有很好的安全性。
SSH優(yōu)點(diǎn)
- 數(shù)據(jù)傳輸是加密的,可以防止信息泄漏
- 數(shù)據(jù)傳輸是壓縮的,可以提高傳輸速度
SSH配置文件
- sshd 服務(wù)的默認(rèn)配置文件是/etc/ssh/sshd_config
- ssh_config和sshd_config都是ssh服務(wù)器的配置文件
二者區(qū)別在于ssh_config是針對(duì)客戶端的配置文件,sshd_config則是針對(duì)服務(wù)端的配置文件。
SSH客戶端與與服務(wù)端
- SSH客戶端:Putty、Xshell、CRT
- SSH服務(wù)端:OpenSSH
- OpenSSH 是實(shí)現(xiàn) SSH 協(xié)議的開(kāi)源軟件項(xiàng)目,適用于各種 UNIX、Linux 操作系統(tǒng)。
CentOS 7系統(tǒng)默認(rèn)已安裝openssh相關(guān)軟件包,并已將 sshd 服務(wù)添加為開(kāi)機(jī)自啟動(dòng)。
二、配置OpenSSH服務(wù)端
1、shd_config配置文件的常用選項(xiàng)設(shè)置
vim /etc/ssh/sshd_config Port 22 #監(jiān)聽(tīng)端口為22 ListenAddress 0.0.0.0 #監(jiān)聽(tīng)地址為任意網(wǎng)段,也可以指定OpenSSH服務(wù)器的具體IP LoginGraceTime 2m #登錄驗(yàn)證時(shí)間為2分鐘 PermitRootLogin no #禁止root用戶登錄 MaxAuthTries 6 #最大重試次數(shù)為 6 PermitEmptyPasswords no #禁止空密碼用戶登錄 UseDNS no #禁用 DNS 反向解析,以提高服務(wù)器的響應(yīng)速度 #只允許zhangsan、lisi、wangwu用戶登錄,且其中wangwu用戶僅能夠從IP地址為61.23.24.25 的主機(jī)遠(yuǎn)程登錄 AllowUsers zhangsan lisi wangwu@61.23.24.25 #多個(gè)用戶以空格分隔 #禁止某些用戶登錄,用法于AllowUsers 類似(注意不要同時(shí)使用) DenyUsers zhangsan
2、Allowusers與Denyusers
Allowusers…… #僅允許某某用戶登陸 Denyusers …… #禁止某些用戶登錄,用法于AllowUsers 類似(注意不要同時(shí)使用)
3、遠(yuǎn)程復(fù)制
scp root@192.168.86.10:/etc/passwd /root/passwd10.txt
4、sftp安全FTP
由于使用了加密/解密技術(shù),所以傳輸效率比普通的FTP要低,但安全性更高。操作語(yǔ)法sftp與ftp幾乎一樣。
sftp root@192.168.184.20 sftp> ls sftp> get 文件名 #下載文件到ftp目錄 sftp> put 文件名 #上傳文件到ftp目錄 sftp> quit #退出
三、sshd服務(wù)支持驗(yàn)證的方式
密碼驗(yàn)證
對(duì)服務(wù)器中本地系統(tǒng)用戶的登錄名稱、密碼進(jìn)行驗(yàn)證。簡(jiǎn)便,但可能會(huì)被暴力破解,暴力破解可看之前博客有詳細(xì)描述系統(tǒng)弱口令檢測(cè)
密鑰對(duì)驗(yàn)證
要求提供相匹配的密鑰信息才能通過(guò)驗(yàn)證。通常先在客戶端中創(chuàng)建一對(duì)密鑰文件(公鑰、私鑰),然后將公鑰文件放到服務(wù)器中的指定位置。遠(yuǎn)程登錄時(shí),系統(tǒng)將使用公鑰、私鑰進(jìn)行加密/解密關(guān)聯(lián)驗(yàn)證。能增強(qiáng)安全性,且可以免交互登錄。
當(dāng)密碼驗(yàn)證、密鑰對(duì)驗(yàn)證都啟用時(shí),服務(wù)器將優(yōu)先使用密鑰對(duì)驗(yàn)證??筛鶕?jù)實(shí)際情況設(shè)置驗(yàn)證方式。
vim /etc/ssh/sshd_config #編輯服務(wù)端主配置文件 PasswordAuthentication yes #啟用密碼驗(yàn)證 PubkeyAuthentication yes #啟用密鑰對(duì)驗(yàn)證 AuthorizedKeysFile .ssh/authorized_keys #指定公鑰庫(kù)文件
在客戶端創(chuàng)建密鑰對(duì)
通過(guò)ssh-keygen工具為當(dāng)前用戶創(chuàng)建密鑰對(duì)文件。可用的加密算法為RSA、ECDSA或DSA等(ssh-keygen命令的“-t”選項(xiàng)用于指定算法類型)。
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): #指定私鑰位置,直接回車使用默認(rèn)位置 Created directory '/home/admin/.ssh'. #生成的私鑰、公鑰文件默認(rèn)存放在宿主目錄中的隱藏目錄.ssh/下 Enter passphrase (empty for no passphrase): #設(shè)置私鑰的密碼 Enter same passphrase again: #確認(rèn)輸入 ls -l .ssh/id_ecdsa*#id_ecdsa是私鑰文件,權(quán)限默認(rèn)為600;id_ecdsa.pub是公鑰文件,用來(lái)提供給 SSH 服務(wù)器
在服務(wù)器的/home/zhangsan/.ssh/目錄中導(dǎo)入公鑰文本
cd ~/.ssh/ ssh-copy-id -i id_ecdsa.pub zhangsan@192.168.80.10
在客戶端使用密鑰對(duì)驗(yàn)證
ssh zhangsan@192.168.86.10 lisi@192.168.86.10's password: #輸入私鑰的密碼
在客戶機(jī)設(shè)置ssh代理功能,實(shí)現(xiàn)免交互登錄
ssh-agent bash ssh-add Enter passphrase for /home/admin/.ssh/id_ecdsa: #輸入私鑰的密碼 ssh zhangsan@192.168.80.10
*補(bǔ)充
scp ~/.ssh/id_ecdsa.pub root@192.168.80.10:/opt #將本機(jī)~/.ssh目錄下的公鑰上傳到服務(wù)器的/opt目錄里 mkdir /home/zhangsan/.ssh/ #在服務(wù)器/home/zhangsan/目錄下創(chuàng)建一個(gè).ssh目錄 cat /opt/id_ecdsa.pub >> /home/zhangsan/.ssh/authorized_keys #在服務(wù)器將/opt目錄下的公鑰文件追加到/home/zhangsan/.ssh/目錄中的authorzed_keys文件中 cat /home/zhangsan/.ssh/authorized_keys #在服務(wù)器查看/home/zhangsan/.ssh/authorized_keys文件
原文鏈接:https://blog.csdn.net/Guiled7/article/details/121638601
相關(guān)推薦
- 2022-05-29 Docker容器下運(yùn)行Nginx并實(shí)現(xiàn)反向代理_docker
- 2022-07-11 Python內(nèi)建類型bytes深入理解_python
- 2022-07-09 使用cgroup控制cpu、內(nèi)存、IO資源實(shí)踐
- 2022-07-25 pytest中配置文件pytest.ini使用_python
- 2022-07-09 Python如何保留float類型小數(shù)點(diǎn)后3位_python
- 2022-08-30 Mac上出現(xiàn)多個(gè)版本選擇打開(kāi)edge瀏覽器
- 2022-11-15 Python中class內(nèi)置方法__init__與__new__作用與區(qū)別解析_python
- 2022-07-24 .Net結(jié)構(gòu)型設(shè)計(jì)模式之享元模式(Flyweight)_基礎(chǔ)應(yīng)用
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支