微信小网站怎么做,wordpress 集成paypal,谷歌 wordpress 插件,wordpress 歌词 插件一、Openssh概述
Openssh是一种安全通道协议#xff0c;用来实现字符界面的远程登录、远程复制、远程文本传输。
Openssh对通信双方的数据进行了加密。有两种方式#xff1a;
用户名和密码登录#xff1a;比较常用密钥对认证方式#xff1a;可以实现免密登录
ssh端口用来实现字符界面的远程登录、远程复制、远程文本传输。
Openssh对通信双方的数据进行了加密。有两种方式
用户名和密码登录比较常用密钥对认证方式可以实现免密登录
ssh端口22工作在网络层、传输层
ssh特点
数据在传输过程中是加密的数据在传输过程中是压缩的
ssh分为服务端和客户端
服务端Openssh
客户端xshellmoba等远程连接工具
Linux中的应用名称sshd
两个配置文件
ssh_config针对客户端的配置文件
sshd_config服务端的配置文件
ssh监听地址可以理解为ssh对外提供服务的地址。
二、Openssh的功能
2.1 远程连接
ssh命令
远程连接从客户机远程连接到目标主机对目标主机进行操作。
ssh 目标主机用户名目标主机IP地址 #格式-p ssh默认端口22当服务端口被更改时使用-p指定ssh访问的端口注意大小写
ssh -p 10022 root20.0.0.30使用ssh服务从10022端口远程连接20.0.0.30主机root用户
2.2 远程复制
scp命令
远程复制把目标主机的文件复制到主机。
远程复制文件
scp root20.0.0.30:/opt/test.txt /opt/new.txt解释把20.0.0.30主机的root用户的/opt/test.txt复制到本机的/opt目录下命名为new.txt
远程复制目录
scp -r root20.0.0.30:/opt/test1/ /opt-r 复制目录
解释把20.0.0.30主机的root用户的目录/opt/test/复制到本机的/opt目录下
指定端口号复制如果sshd服务端口号被修改了比如从22改成10022
scp -rP 10022 root20.0.0.30:/opt/test1 /opt/test2-P 指定服务的端口号10022端口号注意是大写P
-rP连用必须r在前P在后否则报错
注意使用非默认端口号需要关闭防火墙和安全机制否则系统会禁止使用
解释把20.0.0.30主机的root用户的目录/opt/test/复制到本机的/opt目录下重命名为test2
2.3 远程文件传输
sftp远程文件传输协议
sftp是加密的文件传输协议传输效率低于ftp安全性更高。语法与ftp一模一样。
下载get上传put。
sftp对目录操作-r指定端口号-P注意是大写-P
三、密钥对认证免密登录
3.1 密钥和密钥对
密钥密钥是一种参数把明文转换成密文。转换成的密文是一种算法生成的参数。
密钥的形式分为两种对称密钥和非对称密钥。ssh密钥属于非对称密钥。
ssh密钥的加密方式常用的三种可以指定
RSAECDSADSA
密钥对由两个相关联的密钥组成公钥和私钥。
加密和解密公钥用于加密数据私钥用于解密数据。发送方使用接收方的公钥来加密消息只有接收方持有的私钥才能解密该消息。这种方式确保了即使在不安全的通信渠道上只有授权的接收方能够读取消息内容。数字签名私钥可用于生成数字签名公钥用于验证数字签名。发送方使用私钥对消息进行签名接收方使用发送方的公钥来验证签名。这确保了消息的完整性和真实性接收方可以确定消息确实来自于发送方且未被篡改。身份验证通过证明持有与其身份相关联的私钥个体可以验证其身份。例如Web 服务器可以使用数字证书包含公钥以证明其身份。客户端可以使用服务器的公钥来验证其身份确保其连接到了正确的服务器而不是中间人攻击者。安全通信密钥对可用于建立安全通信渠道如 SSL/TLS 协议。客户端和服务器之间的通信可以通过使用密钥对来加密和解密数据从而保护数据免受窃听和篡改。
总的来说密钥对的作用是确保数据的保密性、完整性和真实性以及建立安全的通信渠道。
3.2 免密登录
以ecdsa加密为例
ssh-keygen -t ecdsassh-keygen生成密钥对文件-t选择加密方式
在/root/.ssh/下生成两个文件私钥文件id_ecdsa公钥文件 id_ecdsa.pub
cd /root/.ssh
ssh-copy-id -p 10022 -i id_ecdsa.pub root20.0.0.20
#传递公钥文件到主机20.0.0.20的root用户的授权密钥列表指定端口10022 ssh-copy-id 将本地计算机上的 SSH 公钥添加到远程计算机的授权密钥列表中 -i指定要复制的公钥文件默认情况下它会查找 ~/.ssh/id_rsa.pub 或 ~/.ssh/id_dsa.pub 文件。 -p指定远程 SSH 端口默认为 22。 -o在复制公钥时传递给 ssh 命令的选项。这允许你传递额外的选项比如 -o ProxyCommand...。 -f复制公钥到远程主机的指定文件默认是 ~/.ssh/authorized_keys。
ssh-agent bash #添加密钥缓存
ssh-add #本机添加私钥到ssh-agent实现免密登录ssh root20.0.0.10 #可以免密登录到已添加的私钥
ssh-agent -k #会话结束后可以关闭ssh-agent3.3 xshell免密登录
使用远程连接工具xshell通过密钥实现免密登录根据上文知道需要把本地xshell生成的密钥添加到要登录主机的授权密钥列表中去。所以这里用xshell实现密钥免密登录的前提是能够登录到要登录的主机进行配置。
配置流程要通过密钥对实现免密登录主机test220.0.0.20/24
在xshell新建连接的界面选择设置 生成密钥对继续下一步图略 这里完成后下一步就是把公钥文件上传到目标主机并进行相应配置。
公钥上传到主机可用scp等远程复制、传输工具上传后复制公钥到默认的ssh密钥保存目录/root/.ssh接下来进行配置
cd /root/.ssh/
cat id_rsa_2048.pub authorized_keys
# 把公钥的内容输入到授权密钥列表中
[roottest2 .ssh]# chmod 600 authorized_keys
# 对授权密钥列表授权 600至此登陆成功实现xshell通过密钥实现免密登录。