SSH命令如何远程管理Linux?

SSH基础连接命令

  1. 基本登录语法

    ssh username@remote_host_ip
    • 示例:ssh admin@192.168.1.100
    • 首次连接会提示确认主机指纹,输入yes后继续
  2. 指定端口连接
    若服务器使用非默认端口(如2222):

    ssh -p 2222 user@hostname
  3. 使用域名连接

    ssh user@example.com

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

  1. 生成密钥对

    ssh-keygen -t ed25519  # 推荐ed25519算法
    • 密钥默认保存在~/.ssh/id_ed25519(私钥)和~/.ssh/id_ed25519.pub(公钥)
  2. 上传公钥到服务器

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

    完成后即可免密登录

  3. 手动复制公钥
    若服务器禁用ssh-copy-id:

    cat ~/.ssh/id_ed25519.pub | ssh user@host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

高级功能应用

  1. 执行远程命令

    ssh user@host "ls -l /var/log"  # 查看远程服务器日志
  2. 端口转发(隧道)

    • 本地端口转发(将远程3306映射到本地13306):
      ssh -L 13306:localhost:3306 user@host
    • 远程端口转发(将本地服务暴露到公网):
      ssh -R 8080:localhost:80 user@public_server
  3. 文件传输
    使用SCP基于SSH协议传输:

    scp -P 2222 local_file.txt user@host:/remote/path/  # 上传
    scp user@host:/home/data.zip ./downloads/          # 下载

配置文件优化

编辑~/.ssh/config简化连接:

Host myserver
    HostName 203.0.113.10
    User admin
    Port 2222
    IdentityFile ~/.ssh/myserver_key

之后只需执行:ssh myserver


安全最佳实践

  1. 禁用密码登录(修改/etc/ssh/sshd_config):

    PasswordAuthentication no
    PermitRootLogin no
  2. 更改默认端口:

    Port 22222  # 避免22端口扫描
  3. 超时自动断开:

    ClientAliveInterval 300
    ClientAliveCountMax 0

故障排查技巧

  1. 启用详细模式:

    ssh -vvv user@host  # 显示完整调试信息
  2. 常见错误解决:

    • 权限问题:确保~/.ssh目录权限为700,密钥文件为600
    • 连接拒绝:检查防火墙(sudo ufw allow 2222)或SSH服务状态(sudo systemctl status sshd)
    • 主机密钥变更:删除~/.ssh/known_hosts中对应条目

典型应用场景

  1. 远程维护:通过SSH更新服务器补丁
  2. 跳板机访问:通过中转服务器连接内网机器
  3. 自动化脚本:结合cron执行定期备份任务
  4. 开发调试:使用ssh -X启用图形界面转发(如运行远程GUI程序)

重要提示:

  • 私钥等同于密码,禁止通过邮件或聊天工具传输
  • 定期轮换密钥(建议每3-6个月更新)
  • 使用fail2ban防御暴力破解

引用说明: 参考OpenSSH官方文档(openssh.com/manual.html)、Linux man-pages项目及NIST安全配置指南(SP 800-123),操作建议已通过Ubuntu 22.04/CentOS 7+环境验证。

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

赞 (0)
酷番叔酷番叔
上一篇 2025年7月15日 12:45
下一篇 2025年7月15日 13:14

相关推荐

  • 如何通过AJAX遍历JSON数据?,AJAX遍历JSON数据方法探讨?

    使用Ajax遍历JSON的核心在于通过fetch或XMLHttpRequest异步获取数据后,利用for…of、forEach或Object.keys()方法精准解析对象与数组,这是2026年现代前端数据交互与渲染的标准范式,Ajax遍历JSON的技术演进与核心逻辑在前后端分离的架构中,数据交互是系统的血脉……

    2026年7月21日
    7700
  • 关系型数据库与SQL有何紧密联系?关系型数据库是什么

    关系型数据库(RDBMS)与SQL在2026年依然是企业核心业务数据处理的绝对基石,SQL作为结构化查询语言,凭借其标准化、事务一致性(ACID)及强大的数据完整性约束能力,在金融、电信及政务等高可靠场景下,其综合性价比与运维成熟度仍显著优于非关系型数据库,关系型数据库的核心价值与技术演进在2026年的数字化环……

    2026年6月5日
    10500
  • 如何修改返回结果的response类型?,返回内容类型怎么修改

    修改返回结果的response类型,核心操作是调整HTTP响应头中的Content-Type字段,并同步适配服务端序列化方式与客户端解析逻辑,其中服务端需在响应前显式设置Content-Type,客户端需在异步请求中声明预期返回格式,类型的定义与作用域何为返回内容类型(Content-Type)类型是HTTP协……

    2026年8月20日
    8600
  • FTP服务器怎么配置多账号?FTP多账号设置方法详解

    配置FTP服务器多账号的核心在于通过虚拟账号映射与权限隔离实现“一人一密一目录”,2026年企业实践表明,将传统FTP与SFTP/FTPS混合使用,并配合自动化审计,是应对多账号安全威胁的最优解,在企业信息化过程中,百度上“ftp服务器多账号怎么配置”的搜索热度逐年上涨,同时伴随着越权上传、账号共用、磁盘耗尽等……

    2026年8月29日
    6100
  • 企业数据安全,我们能做些什么?企业数据安全防护措施有哪些

    2026年企业数据安全的核心结论是:必须从“被动合规”转向“主动免疫”,通过构建零信任架构与AI驱动的实时风控体系,将数据泄露风险降低90%以上,同时满足《数据安全法》及跨境流动新规的严苛要求, 2026年企业数据安全的新常态与挑战随着生成式AI的全面普及和量子计算技术的初步商用,传统边界防御体系已彻底失效,2……

    2026年6月12日
    20100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信