如何快速掌握SSH基础命令?

SSH命令用于远程安全登录服务器,基本格式:ssh 用户名@主机地址,首次连接需确认主机密钥;使用密钥认证更安全:ssh -i 私钥文件 用户@主机,传输文件用scp命令,退出会话输入exit

标准连接语法

ssh [用户名]@[服务器IP或域名] -p [端口号]
  • 示例
    ssh admin@203.0.113.25 -p 22
    • admin:远程服务器的用户名
    • 0.113.25:服务器IP地址(可替换为域名如 example.com
    • -p 22:指定SSH端口(默认22,若未修改可省略此参数)

关键参数详解

参数 作用 使用场景示例
-p 指定端口 ssh user@host -p 2222(非默认端口时)
-i 指定私钥文件 ssh -i ~/.ssh/id_rsa user@host(密钥登录)
-v 显示调试信息 ssh -v user@host(排查连接问题)
-C 启用压缩传输 ssh -C user@host(加速大文件传输)

密钥认证登录(推荐安全方式)

步骤

  1. 生成密钥对(本地操作):

    ssh-keygen -t ed25519  # 推荐算法,或使用 -t rsa

    默认保存到 ~/.ssh/id_ed25519(私钥)和 ~/.ssh/id_ed25519.pub(公钥)

  2. 上传公钥到服务器

    ssh-copy-id -i ~/.ssh/id_ed25519.pub user@host

    或手动复制公钥内容到服务器 ~/.ssh/authorized_keys 文件中

  3. 使用私钥连接

    ssh -i ~/.ssh/id_ed25519 user@host

常见问题排查

  1. 连接超时

    • 检查网络是否通畅:ping host
    • 确认防火墙放行SSH端口(默认22)
    • 服务器SSH服务状态:sudo systemctl status sshd
  2. 权限拒绝(Permission Denied)

    • 检查用户名/密码是否正确
    • 确认公钥已正确添加到服务器的 authorized_keys
    • 检查服务器文件权限:
      chmod 700 ~/.ssh
      chmod 600 ~/.ssh/authorized_keys
  3. Host Key验证错误
    若服务器重装系统导致密钥变更,删除本地旧记录:

    ssh-keygen -R [服务器IP]  # 更新known_hosts

安全最佳实践

  1. 禁用密码登录(密钥登录后):
    编辑服务器 /etc/ssh/sshd_config

    PasswordAuthentication no
    ChallengeResponseAuthentication no

    重启服务:sudo systemctl restart sshd

  2. 修改默认端口(减少暴力破解):

    Port 2222  # 在sshd_config中修改
  3. 使用Fail2ban
    自动封禁多次登录失败的IP地址


进阶技巧

  • 远程执行命令(不进入交互终端):

    ssh user@host "ls -l /var/log"
  • SSH隧道端口转发

    ssh -L 8080:localhost:80 user@host  # 本地8080映射到服务器的80端口
  • 配置文件简化~/.ssh/config):

    Host myserver
        HostName 203.0.113.25
        User admin
        Port 2222
        IdentityFile ~/.ssh/id_ed25519

    连接时只需:ssh myserver


引用说明基于OpenSSH 8.9官方文档、Linux man-pages及NIST安全配置指南(SP 800-123),密钥算法推荐参考NSA CNSA 2.0标准,端口安全实践依据CIS基准指南。


通过遵循上述步骤,您可安全高效地使用SSH管理远程服务器,建议定期更新OpenSSH版本并审计服务器配置以保障安全。

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

(0)
酷番叔酷番叔
上一篇 2025年7月17日 20:23
下一篇 2025年7月17日 20:42

相关推荐

  • DOS下运行exe文件的命令是什么?

    在DOS(磁盘操作系统)环境下,运行exe文件是基本的操作之一,exe文件是Windows或DOS系统中的可执行文件,双击或在命令行中输入相应指令即可启动,以下是详细的运行方法及注意事项,帮助用户掌握不同场景下的操作技巧,需要明确DOS环境的进入方式,在Windows系统中,可通过“运行”对话框(Win+R)输……

    2025年8月28日
    2800
  • 怎样查看当前目录文件?

    在Ubuntu中运行命令行主要通过终端(Terminal)实现,这是与系统交互的核心工具,以下是详细操作指南:打开终端的4种方法快捷键启动Ctrl + Alt + T:适用于所有Ubuntu版本(桌面版),秒开终端窗口,图形化菜单点击屏幕左下角 “显示应用程序”(Ubuntu Dock)搜索 “Terminal……

    2025年8月7日
    3600
  • php怎么运行命令行代码

    命令行中输入 php -a 进入交互式模式,或使用 `php script.

    2025年8月16日
    2800
  • win10系统里输入命令的具体操作方法是什么?步骤有哪些?

    在Windows 10系统中,输入命令是进行系统管理、故障排查、自动化操作等任务的核心技能,无论是通过图形界面快速启动工具,还是通过命令行执行复杂操作,掌握命令输入方法都能显著提升使用效率,本文将详细介绍Win10系统中输入命令的多种途径、操作步骤及注意事项,帮助用户从基础到进阶全面掌握命令输入技巧,基础命令输……

    2025年8月29日
    3000
  • 如何隐藏电脑关机命令?

    隐藏关机命令可防止误操作或未授权关机,保障系统稳定与安全,通过权限控制、命令重命名或移除界面选项实现,确保关键服务持续运行。

    2025年7月2日
    6100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信