差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 后一修订版 | 前一修订版 | ||
| 软件:ssh [2025/09/04 22:25] – 创建 admin | 软件:ssh [2025/10/21 21:22] (当前版本) – admin | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| - | 1 | + | ====== SSH ====== |
| + | |||
| + | SSH(Secure Shell)用于服务器登录和各种加密通信。能对操作者进行认证(authentication)和授权(authorization)。明文的网络协议可以套用在它里面,从而实现加密。默认端口22 | ||
| + | |||
| + | SSH作为加密通信的中介,充当两台服务器之间的通信加密跳板,使得原本不加密的通信变成加密通信。这个功能称为端口转发(port forwarding),又称 SSH隧道(tunnel)。 | ||
| + | |||
| + | 功能 | ||
| + | |||
| + | 远程登录:通过SSH可以安全地登录到远程服务器,并在该服务器上执行命令。 | ||
| + | |||
| + | 文件传输:使用基于SSH的工具(如SCP和SFTP),可以在本地和远程系统之间安全地传输文件。 | ||
| + | |||
| + | 端口转发:允许将不安全的TCP连接转换为安全的SSH连接,保护数据传输的安全性。 | ||
| + | |||
| + | 原理 | ||
| + | |||
| + | 加密:SSH使用对称加密、非对称加密和哈希函数来确保通信的安全性。 | ||
| + | |||
| + | 对称加密:用于加密大部分数据流,双方使用相同的密钥进行加密和解密。 | ||
| + | |||
| + | 非对称加密:用于生成会话密钥,验证服务器的身份,并在客户端和服务器之间建立安全连接。 | ||
| + | |||
| + | 哈希函数:用于验证数据完整性,确保数据未被篡改。 | ||
| + | |||
| + | 认证方式: | ||
| + | |||
| + | 密码认证:最常见的方式,用户输入用户名和密码进行登录。 | ||
| + | |||
| + | 公钥认证:更安全的方式,用户生成一对公钥和私钥。将公钥添加到服务器上的~/ | ||
| + | |||
| + | 双因素认证(2FA):结合密码和一次性验证码(通常通过手机应用生成)来增加安全性。 | ||
| + | |||
| + | 组件 | ||
| + | |||
| + | ssh:用于登录远程服务器。 | ||
| + | |||
| + | scp:用于在本地和远程系统之间安全复制文件。 | ||
| + | |||
| + | sftp:类似于FTP,但使用SSH协议进行文件传输。 | ||
| + | |||
| + | ssh-keygen:用于生成、管理和转换认证密钥。 | ||
| + | |||
| + | ssh-agent 和 ssh-add:用于管理私钥,简化公钥认证过程。 | ||
| + | |||
| + | 部署 | ||
| + | |||
| + | <code -> | ||
| + | #安装 | ||
| + | sudo apt -y install openssh-server | ||
| + | #启动 | ||
| + | sudo systemctl start ssh | ||
| + | # | ||
| + | sudo systemctl status ssh | ||
| + | |||
| + | # | ||
| + | sudo ufw allow ssh | ||
| + | # | ||
| + | sudo ufw allow 22/tcp | ||
| + | |||
| + | # | ||
| + | sudo systemctl restart ssh | ||
| + | |||
| + | # | ||
| + | cat / | ||
| + | tail -f / | ||
| + | sudo grep " | ||
| + | |||
| + | 从远程服务器下载文件到本地 | ||
| + | scp < | ||
| + | scp root@127.0.0.1:~/test.txt ~/Desktop | ||
| + | |||
| + | 从远程服务器下载文件夹到本地 | ||
| + | scp -r < | ||
| + | scp -r root@127.0.0.1: | ||
| + | |||
| + | 从本地上传文件到服务器上 | ||
| + | scp < | ||
| + | scp .\myfile.zip user@192.168.120.128:/ | ||
| + | 从本地上传文件夹到服务器上 | ||
| + | scp -r < | ||
| + | scp -r .\myfile user@192.168.120.128:/ | ||
| + | </ | ||