当前位置:网站首页>SSH远程管理
SSH远程管理
2022-07-26 05:17:00 【蓝月欧冠之王】
目录
一、SSH远程管理
SSH(SecureShell)是一.种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。
SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。因此SSH协议具有很好的安全性。
网络
SSH←→SSH服务端
数据传输是加密的,可以防止信息泄漏
数据传输是压缩的,可以提高传输速度
SSH客户端: Putty、 Xshell、 CRT
SSH服 务端: OpenSSH
C/S架构
(1)OpenSSH 是实现SSH 协议的开源软件项目,适用于各种UNIX、Linux操作系统。
(2)Centos 7系统默认已安装openssh相关软件包,并已将sshd 服务添加为开机自启动。
(3)执行“systemctl start. sshd"命 令即可启动sshd 服务
(4)sshd 服务使用的默认端口号为22
(5)sshd 服务的默认配置文件是/etc/ssh/sshd_ config
ssh_config和Isshd_config都是ssh服务器的配置文件,二者区别在于前者是针对客户端的配置文件,后者则是针对服务端的配置文件。
1.配置OpenSSH服务端
sshd_ 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
Permit EmptyPasswords no 禁止空密码用户登录
UseDNS no 禁用DNS反向解析,以提高服务器的响应速度
cd /etc/ssh/
ls
vim sshd_config



2.sshd服务支持两种验证方式
(1)密码验证
(2)对服务器中本地系统用户的登录名称、密码进行验证。简便,但可能会被暴力破解
3.密钥对验证
要求提供相匹配的密钥信息才能通过验证。通常先在客户端中创建一对密钥文件(公钥、私钥),然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥、私钥进行加密/解密关联验证。能增强安全性,且可以免交互登录。
对称密钥一个非对称密钥
非对称:RSA,创建出一个公钥一个私钥验证的话,私钥必须要和公钥能对应匹配,才允许登陆、交互,否则拒绝
PS: 公钥和私钥,实际而言就是两个文件
"相当于 钥匙和锁的关系"
当密码验证、密钥对验证都启用时,服务器将优先使用密钥对验证。可根据实际情况设置验证方式。
vim /etc/ssh/sshd_ config
Pas swordAuthentication yes 启用密码验证
PubkeyAuthentication yes 启用密钥对验证
AuthorizedKeysFile . ssh/ authorized_ keys 指定公钥库文件
ssh-keygen -t rsa

4.使用SsH客户端程序
(1)ssh远程登录
ssh [选项]
当用户第一次登录SSH服务器时,必须接受服务器发来的ECDSA密钥(根据提示输入"yes")后才能继续验证。接收的密钥信息将保存到~/ .ssh/known_ hosts 文件中。密码验证成功以后,即可登录目标服务器的命令行环境中了。
-p: 指定非默认的端口号,缺省时默认使用22端口
ssh -p
(2)scp 远程复制
下行复制
scp root : /etc/passwd / root/passwd文件名
将远程主机中的/etc/passwd文件复制到本机
上行复制
scp -r /etc/ssh/ root : /opt 将本机的/etc/ssh目录复制到远程主机.
(3)sftp 安全FTP
由于使用了加密/解密技术,所以传输效率比普通的FTP要低,但安全性更高。操作语法sftp与ftp几乎一样。
sftp
Connecting to
tsengyia password: 输入密码
sftp> ls
sftp> get文件名 下载文件到ftp目录
sftp> put 文件名 上传文件到ftp目录
sftp> quit 退出
二、配置密钥对验证
1.在客户端创建密钥对
通过ssh-keygen.工具为当前用户创建密钥对文件。可用的加密算法为RSA、ECDSA或DSA等 ( ssh-keygen命令的“-t"选项用于指定算法类型)。
useradd 用户
echo "密码" l passwd --stdin 用户
su - 用户
ssh-keygen -t ecdsa
Generating publ ic/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服务器
2.将公钥文件上传至服务器
scp ~/ .ssh/id_ ecdsa.pub root :/opt
或此方法可直接在服务器的/home/zhangsan/.ssh/目录中导入公钥文本
cd ~/ . ssh/
ssh-copy-id -i id_ ecdsa. pub [email protected] 168.80.10
3.在服务器中导入公钥文本
mkdir /home/ zhangsan/ . ssh/
cat /opt/id_ ecdsa.pub > /home/ zhangsan/ .ssh/authorized keys
cat /home/ zhangsan/ .ssh/authorized keys
4.在客户端使用密钥对验证
ssh 用户名@网络地址
用户名 网络地址 ' s password: 输入私钥的密码
5.在客户机设置ssh代理功能,实现免交互登录
ssh-agent bash
ssh-add
Enter passphrase for /home/admin/ .ssh/id_ ecdsa: 输入私钥的密码
ssh 用户名@网络地址
三、TCP Wrappers 访问控制
将TCP服务程序“包裹"起来,代为监听TCP服务程序的端口,增加了一个安全检测过程,外来的连接请求必须先通过这层安全检测,获得许可后才能访问真正的服务程序。
大多数Linux 发行版,TCP wrappers 是默认提供的功能。rpm -q tcp_ wrapper.
TCP Wrapper 保护机制的两种实现方式
(1)直接使用tcpd程序对其他服务程序进行保护,需要运行tcpd程序。
(2) 由其他网络服务程序调用libwrap.so. *链接库,不需要运行tepd 程序。此方式的应用更加广泛,也更有效率。
使用ldd命令可以查看程序的libwrap.so. *链接库
ldd $ (which ssh vsftpd)
TCPWrappers的访问策略:
TCPWrappers机制的保护对象为各种网络服务程序,针对访问服务的客户端地址进行访问控制。
对应的两个策略文件为/etc/hosts.allow 和/etc/hosts.deny,分别用来设置允许和拒绝的策略。
1.格式
<服务程序列表>:<客户端地址列表>
(1)服务程序列表
ALL: 代表所有的服务。
单个服务程序:如“vsftpd"。
多个服务程序组成的列表:如“vsftpd, sshd"。
(2)客户端地址列表
ALL: 代表任何客户端地址。
LOCAL: 代表本机地址。
多个地址以逗号分隔
允许使用通配符"*"和“?”,前者代表任意长度字符,后者仅代表一个字符网段地址
区域地址,如“. benet. com"匹配benet.com 域中的所有主机。
2.TCP Wrappers 机制的基本原则
(1)首先检查/etc/hosts.allow文件, 如果找到相匹配的策略,则允许访问;
(2)否则继续检查/etc/ hosts.deny文件,如果找到相匹配的策略,则拒绝访问;
(3)如果检查上述两个文件都找不到相匹配的策略,则允许访问。
1)“允许所有,拒绝个别”
只需在/etc/hosts.deny文件中添加相应的拒绝策略
2)"允许个别,拒绝所有”
除了在/etc/ hosts.allow中添加允许策略之外,还需要在/etc/hosts.deny文件中设置"ALL:ALL"的拒绝策略。
边栏推荐
- ALV报表流程图解
- Map making of environmental impact assessment based on remote sensing interpretation and GIS technology
- SQL注入
- Recommended reading: how can testers get familiar with new businesses quickly?
- How many holes have you stepped on in BigDecimal?
- 安装NCCL\mpirun\horovod\nvidia-tensorflow(3090Ti)
- DOM event flow event bubble event capture event delegate
- Excel VBA: summarize calculation output results by date (SUMIF)
- CLM land surface process model
- SWAT模型在水文水资源、面源污染模拟中的实践技术
猜你喜欢

Full analysis of domain name resolution process means better text understanding

推荐必读:测试人员如何快速熟悉新业务?

no networks found in /etc/cni/net.d

手把手教你用代码实现SSO单点登录

Embedded sharing collection 20

no networks found in /etc/cni/net.d

NetCore MySql The user specified as a definer (‘admin‘@‘%‘) does not exist

Excel VBA: realize automatic drop-down filling formula to the last line

DOM事件流 事件冒泡-事件捕获-事件委托

Alibaba three sides: how to solve the problems of MQ message loss, duplication and backlog?
随机推荐
测试必备工具之Fiddler,你真的了解吗?
Chinese character style transfer --- learn the conversion and generation of one to many programmed Chinese characters through generation confrontation network
Test of countlaunch demo
Leetcode linked list problem - 203. remove the linked list elements (learn the linked list by one question and one article)
MODFLOW flex, GMS, FEFLOW, hydraus practical application
MySQL basic learning
NetCore MySql The user specified as a definer (‘admin‘@‘%‘) does not exist
Princeton calculus reader 02 Chapter 1 -- composition of functions, odd and even functions, function images
The first positive number missing in question 41 of C language. Two methods, preprocessing, fast sorting and in situ hashing
Basic methods of realizing licensing function in C language
C语言详解系列——函数的认识(4)函数的声明与定义,简单练习题
CMD operation command
Recommendation system - machine learning
Five simple and practical daily development functions of chrome are explained in detail. Unlock quickly to improve your efficiency!
Bash shortcut key to improve command line efficiency [Full Version]
NetCore MySql The user specified as a definer (‘admin‘@‘%‘) does not exist
提升命令行效率的 Bash 快捷键 [完整版]
真正的科学减肥
Week 6 Learning Representation: Word Embedding (symbolic →numeric)
Flex layout principle and common parent elements