有教做路桥质检资料的网站吗,企业画册印刷,江门网站制作,昆明企业为什么要做网站目录
一、ssh协议定义及特点
#xff08;一#xff09;ssh协议简介
#xff08;二#xff09;ssh协议的主要特点
二、ssh传输原理
三、sshd服务
#xff08;一#xff09;配置文件
#xff08;二#xff09;基本用法
1.直接连接
2.连接指定用户
3.指定端口号…目录
一、ssh协议定义及特点
一ssh协议简介
二ssh协议的主要特点
二、ssh传输原理
三、sshd服务
一配置文件
二基本用法
1.直接连接
2.连接指定用户
3.指定端口号
4.黑白名单
三基于密钥验证
1.创建密钥
2.传送到远程主机
3.登录验证 一、ssh协议定义及特点 一ssh协议简介
SSHSecure Shell协议是一种网络协议主要用于在不安全的网络中提供安全的远程登录和命令执行环境。SSH协议基于客户端-服务器模型设计主要目的是为用户提供数据加密、身份验证以及消息完整性检查等功能确保用户能够在网络上安全地访问另一台计算机。
SSHSecure Shell主要用于Linux和Unix系统上的远程登录和命令行控制同时也可用于文件传输和其他安全网络服务。
二ssh协议的主要特点
1.数据加密所有通过SSH传输的数据都经过加密处理包括命令行输入、输出结果和任何交互式会话内容防止了中间人攻击窃取或篡改通信数据。
2.数据压缩将传输数据压缩提高传输速度
3.身份验证支持多种身份验证机制包括密码认证、公钥认证等。其中公钥认证通常结合私钥和公钥对使用提供了较高的安全性。
4.安全隧道SSH可以建立端口转发也称为隧道允许将本地计算机上的端口流量通过加密的SSH连接转发到远程主机的相应端口用于保护非安全服务的通信。
5.文件传输虽然SSH协议本身并不直接负责文件传输但可以通过SCPSecure Copy或SFTPSSH File Transfer Protocol等工具利用SSH的安全连接进行文件的安全传输。
二、ssh传输原理
SSHSecure Shell协议中的公钥交换是其安全性的关键组成部分之一。在SSH连接建立过程中客户端和服务器端通过非对称加密算法进行密钥交换确保了会话的机密性和完整性。 最后双方各自持有三个秘钥分别为自己的一对公、私钥以及对方的公钥之后的所有通讯都会被加密。公钥可任意分发但不能用于解密私钥只有所有者持有且可用于解密由相应公钥加密的数据从而保证了密钥交换的安全性。 三、sshd服务
一配置文件
来了解一下基本的文件 [rootlocalhost .ssh]#rpm -qc openssh-server #服务名称叫做sshd软件包名称叫openssh
/etc/pam.d/sshd #sshd服务的PAM认证模块
/etc/ssh/sshd_config #本机作为服务端的sshd服务的配置文件
/etc/sysconfig/sshd #虽然许多SSH守护进程的详细配置是在/etc/ssh/sshd_config文件中完成的但该文件也可以用来覆盖或补充一些启动参数[rootlocalhost ~]#ls /etc/ssh/
moduli #这个文件包含了Diffie-Hellman密钥交换协议使用的素数模数集合用于提供足够的强度和效率以抵抗中间人攻击。
ssh_config #本机作为客户端的配置文件
ssh_host_ecdsa_key #ecdsa算法生成的公钥
ssh_host_ecdsa_key.pub #ecdsa算法生成的公钥
ssh_host_ed25519_key #ed25519算法生成的公钥
ssh_host_ed25519_key.pub #ed25519算法生成的公钥
ssh_host_rsa_key.pub #rsa算法生成的公钥
ssh_host_rsa_key #rsa算法生成的公钥
二基本用法
使用ssh 命令
1.直接连接
默认连接root用户
输入 ssh IP地址 第一次和服务端机器连接时会询问是否要验证公钥同意或后就会自动获取服务端的公钥 如何去验证是否连接到正确的服务机器可以查看服务端的公钥 可以发现两个公钥是完全一样的所以我们连接的就是指定的机器
2.连接指定用户
ssh 用户名IP地址 也可以使用-l 指定用户名
3.指定端口号
sshd服务默认使用的端口号是22如果不是端口号需要-p 指定端口号
将服务端的端口号修改成非22端口
vim /etc/ssh/sshd_config 修改之后重启服务 systemctl restart sshd 使配置文件生效
再使用客户机去连接就需要指定端口号了 4.黑白名单
白名单默认拒绝所有只有白名单允许的人才可以访问
黑名单默认允许所有只有黑名单里的用户才可以访问
修改服务端的服务配置文件vim /etc/ssh/sshd_config 禁止的IP地址上的所有用户都无法远程登录本机 白名单允许的只能远程登录本机的kysw用户 三基于密钥验证
使用密码验证终归会存在着被骇客暴力破解或嗅探监听的危险其实也可以让 ssh 服务基于密钥进行安全验证 (可无需密码验证)。
在实验之前将之前设置的黑白名单删除或者使用新的客户机实验
1.创建密钥 也可以指定算法类型输入 ssh-keygen -t ed25519 ecdsa
2.传送到远程主机 在服务端查看已经收到的密钥文件会生成一个authorized_keys的文件 3.登录验证
这个时候我们再登录的话会使用密钥文件进行验证 如果不想验证密码使用免交互登录
先输入ssh-agent bash 将这个命令交给bash去管理
再输入ssh-add 是将用户的私钥添加到运行中的 ssh-agent中这样在后续的SSH连接过程中就不需要每次都手动输入私钥的密码了。一旦私钥被添加到ssh-agent 中它会暂时保存解密后的私钥以供后续使用。 重启机器后就会失效需要重新进行上述操作再次输入密码 或者修改服务端配置文件 这样其它没有密钥的客户端是无法连接本机的只有有密钥的客户机可以连接