软件:ssh

SSH(Secure Shell)用于服务器登录和各种加密通信。能对操作者进行认证(authentication)和授权(authorization)。明文的网络协议可以套用在它里面,从而实现加密。默认端口22

SSH作为加密通信的中介,充当两台服务器之间的通信加密跳板,使得原本不加密的通信变成加密通信。这个功能称为端口转发(port forwarding),又称 SSH隧道(tunnel)。

功能

远程登录:通过SSH可以安全地登录到远程服务器,并在该服务器上执行命令。

文件传输:使用基于SSH的工具(如SCP和SFTP),可以在本地和远程系统之间安全地传输文件。

端口转发:允许将不安全的TCP连接转换为安全的SSH连接,保护数据传输的安全性。

原理

加密:SSH使用对称加密、非对称加密和哈希函数来确保通信的安全性。

对称加密:用于加密大部分数据流,双方使用相同的密钥进行加密和解密。

非对称加密:用于生成会话密钥,验证服务器的身份,并在客户端和服务器之间建立安全连接。

哈希函数:用于验证数据完整性,确保数据未被篡改。

认证方式:

密码认证:最常见的方式,用户输入用户名和密码进行登录。

公钥认证:更安全的方式,用户生成一对公钥和私钥。将公钥添加到服务器上的~/.ssh/authorized_keys文件中,然后使用私钥进行身份验证。

双因素认证(2FA):结合密码和一次性验证码(通常通过手机应用生成)来增加安全性。

组件

ssh:用于登录远程服务器。

scp:用于在本地和远程系统之间安全复制文件。

sftp:类似于FTP,但使用SSH协议进行文件传输。

ssh-keygen:用于生成、管理和转换认证密钥。

ssh-agent 和 ssh-add:用于管理私钥,简化公钥认证过程。

部署

#安装
sudo apt-get -y install openssh-server
#启动
sudo systemctl start ssh
#查看SSH状态
sudo systemctl status ssh 

#防火墙设置
sudo ufw allow ssh
#修改服务端口
sudo ufw allow 22/tcp

#修改SSH配置
sudo systemctl restart ssh

#查看日志
cat /var/log/auth.log | grep ssh
tail -f /var/log/auth.log | grep ssh
sudo grep "Failed password" /var/log/auth.log
  • 软件/ssh.txt
  • 最后更改: 2025/09/05 00:03
  • admin