SSH服务

SSH介绍:

  • SSH是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能;
  • 对通信双方的数据传输进行加密处理,其中包括用户登录时输入的用户口令;
  • 与早期的Telnet(远程登录)、rsh(远程执行命令)、rcp(远程文件控制)等相比,SSH协议提供了更好的安全性

 

SSH(远程连接工具)连接原理:

SSH服务端是一个守护讲程 (daemon).他在后台运行并响应来自客户端的连接请求。 SSH服务端的讲程名为sshd,负责实时监听远程SSH客户端的远程连接请求,并进行处理,一般包括公共密钥认证、密钥交换、对称密钥加密和非安全连接等。这个SSH服务就是我们前面基础系统优化中保留开机自启动的服务。

 

ssh客户端包含ssh以及像scp(远程拷贝) slogin(远程登陆) sftp(安全FTP文件传输)等应用程序。

ssh的工作机制大致是本地的ssh客户端先发送一个连接请求到远程的ssh服务端,服务端检查连接的客户端发送的数据包和IP地址,如果确认合法,就会发送密钥给 SSH的客户端,此时,客户端本地再将密钥发回给服务端,自此连接建立。

 

CentOS7安装与配置SSH

1.安装

yum install -y openssl openssh-server

 

2.修改配置文件

vim /etc/ssh/sshd_config(服务端)

Port 22 #监端口为22(可指定端口)

例:指定端口为221

 

 

 

AddressFamily any #监听地址为任意网卡,也可以指定Openssh服务器的具体ip

LoginGraceTime 2m #登录验证时间为2分钟

PermitRootLogin yes #禁止root用户登录

 

MaxAuthTries 6 #最大重试次数为 6

PasswordAuthentication yes #启用密码验证

PubkeyAuthentication yes #启用密钥对验证

AuthorizedKeysFile .ssh/ authorized_keys #指定公钥库文件.

PermitEmptyPasswords no #禁止空密码用户登录

UseDNS no #禁用DNS反向解析,以提高服务器的响应速度

 vim /etc/ssh/ssh_config(客户端)

 

 3.如何启动ssh服务

systemctl start sshd.service

 

4.如何设置开机自动启动ssh服务

 systemctl enable sshd.service

 

5.查看sshd相关端口号

netstat -natp |grep sshd

 

 

SSH服务登录验证方式:

1.密码登录

通过登录用户名及密码进行登录

方便但不安全

2.密钥对验证

加密是对信息进行编码和解码的技术,它通过一定的算法(密钥)将原本可以直接阅读 的明文信息转换成密文形式。密钥即是密文的钥匙,有私钥和公钥之分。在传输数据时,如果 担心被他人监听或截获,就可以在传输前先使用公钥对数据加密处理,然后再行传送。这样, 只有掌握私钥的用户才能解密这段数据,除此之外的其他人即便截获了数据,一般也很难将 其破译为明文信息。既不采用手动输入密码登陆,直接密钥验证登陆,更安全,不容易破解。

3.配置步骤

第一步:在客户端主机中生成“密钥对”。

命令:ssh-keygen 

 

 

第二步:把客户端主机中生成的公钥文件传送至远程主机。

命令:ssh-copy-id 192.168.28.29    

注意这个IP地址是将客户机生成的密钥发送到服务器的目标主机IP地址。成功登陆验证过后,便不再需要输入密码验证。

 

 

第三步:对服务器进行设置,使其只允许密钥验证,拒绝传统的口令验证方式。

将PasswordAuthentication yes改成PasswordAuthentication no即可。

验证:ssh 192.168.28.29

 

 

TCP_Wrappers

1.工作原理:

TCP_Wrappers有一个TCP的守护进程叫作tcpd。

以ssh为例,每当有ssh的连接请求时,tcpd即会截获请求,先读取系统管理员所设置的访问控制文件,符合要求,则会把这次连接原封不动的转给真正的ssh进程,由ssh完成后续工作;

如果这次连接发起的ip不符合访问控制文件中的设置,则会中断连接请求,拒绝提供ssh服务。

 

 

 2.设置黑名单

vim /etc/hosts.deny

 

 

 

 无法进行远程连接

3.设置白名单

vim /etc/hosts.allow

 

 

 

posted @   xhx18061794934  阅读(120)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示