当前位置:必安云 > 服务器 > 正文内容

云服务器SSH设置指南,从入门到精通

本文提供了一篇关于云服务器SSH设置的全面指南,从基础到高级,涵盖安装配置、安全加固、自动化管理等知识点,帮助用户深入理解SSH在云服务器中的应用,提升操作效率和安全性,适合新手到进阶用户参考。

SSH 的基本配置

什么是 SSH?

SSH 是一种网络协议,用于在不安全的网络中安全地进行远程登录、文件传输和命令执行,它通过加密通信通道,确保数据在传输过程中不被窃听或篡改。

云服务器上的 SSH 安装与配置

大多数云服务器提供商(如阿里云、腾讯云、华为云等)在创建实例时会默认安装 SSH 服务,如果需要手动安装,可以通过以下命令完成:

# 在 CentOS 上安装 OpenSSH
sudo yum install openssh-server openssh-clients -y
# 在 Ubuntu 上安装 OpenSSH
sudo apt-get update && sudo apt-get install openssh-server -y

安装完成后,启动 SSH 服务并设置开机自启动:

云服务器SSH设置指南,从入门到精通

# 启动 SSH 服务
sudo systemctl start sshd
# 设置开机自启动
sudo systemctl enable sshd

配置 SSH 端口

默认情况下,SSH 使用 22 端口,为了提高安全性,建议修改默认端口,编辑 SSH 配置文件:

sudo nano /etc/ssh/sshd_config

找到 Port 22,修改为其他端口号(如 22222),保存并重启 SSH 服务:

sudo systemctl restart sshd

SSH 的安全优化

禁用密码登录

密码登录存在被暴力破解的风险,建议仅使用密钥对登录,编辑 SSH 配置文件:

# 禁用密码登录
PasswordAuthentication no

重启 SSH 服务以生效。

生成 SSH 密钥对

在本地计算机上生成 SSH 密钥对:

ssh-keygen -t rsa -b 4096

生成的密钥对包括 id_rsa(私钥)和 id_rsa.pub(公钥),将公钥上传到云服务器:

ssh-copy-id -i ~/.ssh/id_rsa.pub username@your_server_ip

配置防火墙

为了进一步增强安全性,建议配置防火墙规则,仅允许特定 IP 或端口访问 SSH 服务,在 CentOS 上使用 firewalld

# 允许 SSH 端口(假设修改为 22222)
sudo firewall-cmd --permanent --add-port=22222/tcp
# 重启防火墙
sudo firewall-cmd --reload

SSH 的高级功能

SSH 端口转发

SSH 端口转发允许用户通过 SSH 通道访问远程服务器上的其他服务,访问远程数据库:

ssh -L 3306:localhost:3306 username@your_server_ip

SSH 隧道

SSH 隧道可以加密所有通过隧道传输的数据,通过 SSH 隧道访问内部网络资源:

ssh -D 1080 username@your_server_ip

SSH 自动化部署

SSH 可以与脚本结合,实现自动化部署,使用 rsync 通过 SSH 同步文件:

rsync -avz -e "ssh -p 22222" /local/path username@your_server_ip:/remote/path

SSH 的故障排除

无法连接到 SSH 服务

  • 检查 SSH 服务是否运行:
    sudo systemctl status sshd
  • 检查防火墙设置,确保 SSH 端口开放。

密钥认证失败

  • 确保公钥已正确添加到 ~/.ssh/authorized_keys 文件中。
  • 检查文件权限:
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys

SSH 连接超时

  • 检查网络延迟或丢包情况。
  • 确保云服务器的安全组规则允许 SSH 端口的入站流量。

扫描二维码推送至手机访问。

版权声明:本文由必安云计算发布,如需转载请注明出处。

本文链接:https://www.bayidc.com/article/index.php/post/23282.html

分享给朋友: