Linux下SSH连接服务器全攻略?

基础连接步骤

  1. 安装SSH客户端
    大多数Linux发行版已预装OpenSSH客户端,检查是否安装:

    ssh -V  # 显示版本即表示已安装

    若未安装,执行:

    sudo apt install openssh-client  # Debian/Ubuntu
    sudo yum install openssh-clients # CentOS/RHEL
  2. 发起连接
    基础命令格式:

    ssh 用户名@服务器IP -p 端口号
    • 示例
      ssh root@192.168.1.100 -p 22  # 默认端口22可省略
    • 首次连接提示
      会显示服务器指纹,输入yes确认信任。
  3. 输入密码登录
    按提示输入用户密码(输入时无显示),成功后进入服务器终端。


密钥认证(免密登录,更安全)

步骤1:生成密钥对
本地终端执行:

ssh-keygen -t ed25519  # 推荐ed25519算法,或使用rsa
  • 按提示设置密钥存储路径(默认~/.ssh/id_ed25519)和密码(可选)。

步骤2:上传公钥到服务器

ssh-copy-id -i ~/.ssh/id_ed25519.pub 用户名@服务器IP

输入服务器密码后,公钥会自动添加到服务器的~/.ssh/authorized_keys文件中。

步骤3:密钥登录验证

ssh 用户名@服务器IP  # 无需密码直接登录

常见问题与解决方案

问题 原因与解决方式
连接超时 检查防火墙:sudo ufw allow 22(Ubuntu)或firewall-cmd --add-port=22/tcp --permanent(CentOS)
Permission denied 密码错误:重新输入
服务器未开启密码登录:需使用密钥
用户无SSH权限:联系管理员
No route to host 服务器IP错误或网络不通,用ping 服务器IP测试
端口被修改 确认服务端口:ssh -p 新端口 用户@IP

高级技巧

  1. SSH配置文件简化连接
    编辑本地~/.ssh/config文件:

    Host myserver          # 自定义别名
      HostName 192.168.1.100
      User root
      Port 2222
      IdentityFile ~/.ssh/id_ed25519  # 指定密钥

    之后只需执行:ssh myserver

  2. 文件传输

    • 上传到服务器
      scp -P 22 本地文件.txt 用户名@服务器IP:/目标路径/
    • 从服务器下载
      scp 用户名@服务器IP:/远程文件.txt 本地路径/
  3. 端口转发(调试用)

    ssh -L 8080:localhost:80 用户@服务器IP  # 将本地8080映射到服务器80端口

安全最佳实践

  1. 禁用密码登录(提升安全性)
    登录服务器后编辑/etc/ssh/sshd_config

    PasswordAuthentication no  # 关闭密码登录
    PermitRootLogin no         # 禁止root直接登录
    Port 2222                  # 更改默认端口

    重启服务生效:sudo systemctl restart sshd

  2. 其他建议

    • 使用强密码或密钥密码(避免纯密钥无密码)。
    • 定期更新SSH服务:sudo apt upgrade openssh-server
    • fail2ban防御暴力破解。

SSH是Linux服务器管理的必备技能,掌握密钥登录和配置文件可大幅提升效率,务必遵循安全实践,如禁用密码登录、修改默认端口,以保护服务器免受攻击,遇到连接问题时,逐步检查网络、防火墙、服务状态(systemctl status sshd)和配置参数。

引用说明参考OpenSSH官方文档(openssh.com)、Linux man手册及服务器安全最佳实践,操作命令基于主流Linux发行版(Ubuntu/CentOS)验证。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9950.html

(0)
酷番叔酷番叔
上一篇 2025年8月8日 05:37
下一篇 2025年8月8日 05:56

相关推荐

  • Linux top命令如何翻页查看更多进程信息?

    在Linux系统中,top命令是一个动态监控进程的工具,能够实时显示系统中运行的进程信息,包括进程ID(PID)、CPU占用率、内存使用量、命令名称等,当系统中的进程数量较多时,一屏无法完整显示所有进程信息,此时需要掌握top的翻页操作,以便查看完整的进程列表,本文将详细介绍top命令中翻页的具体方法、相关快捷……

    2025年9月13日
    2900
  • Linux如何挂载U盘/硬盘?

    挂载基础步骤查看可用设备使用 lsblk 或 fdisk -l 命令识别设备名称(如 /dev/sdb1):lsblk -f # 显示设备文件系统类型(如 ext4、NTFS)创建挂载点挂载点是空目录,用于访问设备内容:sudo mkdir /mnt/mydrive # 创建目录(名称可自定义)执行挂载将设备挂……

    2025年7月19日
    4700
  • 在Linux操作系统中,如何打开并启动VirtualBox的虚拟机管理程序?

    在Linux系统中使用VirtualBox可以方便地运行虚拟机,无论是进行软件开发、系统测试还是学习其他操作系统,VirtualBox都提供了强大的支持,要在Linux下成功打开并使用VirtualBox,需要经过安装、配置等步骤,本文将详细介绍整个过程,包括安装前的准备、不同Linux发行版的安装方法、启动V……

    2025年8月29日
    2900
  • linux如何测试程序并发

    在Linux环境下测试程序的并发能力是确保系统在高负载下稳定运行的关键环节,通过模拟多用户、多请求并发的场景,可以暴露程序在资源竞争、线程同步、内存管理等方面的问题,以下从测试工具、方法、指标及步骤等方面详细介绍Linux并发测试的实践,常用并发测试工具Linux提供了丰富的工具用于并发测试,可分为压力生成工具……

    2025年9月17日
    2400
  • 在Linux系统中,如何测试网速?有哪些常用命令或工具?

    在Linux系统中测试网速是网络管理、故障排查和性能优化的常见需求,通过不同工具可以全面评估网络下载、上传速度、延迟及稳定性,以下是几种主流的Linux网速测试方法,涵盖命令行工具、本地网络测试及公网测速场景,帮助用户根据实际需求选择合适方案,使用speedtest-cli:快速公网测速speedtest-cl……

    2025年10月3日
    1600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信