Linux SSH命令如何快速掌握?

SSH基础连接命令

语法格式

ssh [选项] 用户名@主机地址

常用参数

  • -p 端口号:指定SSH端口(默认22)
  • -i 密钥文件:使用私钥认证(如 -i ~/.ssh/id_rsa
  • -v:显示详细连接过程(调试用)

示例

ssh admin@192.168.1.100          # 默认端口登录
ssh -p 2222 user@example.com     # 指定端口登录

密钥认证:更安全的登录方式

步骤1:生成密钥对

ssh-keygen -t rsa -b 4096   # 生成4096位RSA密钥
  • 默认保存位置:~/.ssh/id_rsa(私钥)和 ~/.ssh/id_rsa.pub(公钥)

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

ssh-copy-id -i ~/.ssh/id_rsa.pub user@host  # 自动上传

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

步骤3:密钥登录验证

ssh -i ~/.ssh/my_key user@host  # 使用指定私钥登录

高级应用场景

  1. 执行远程命令
    无需登录直接操作:

    ssh user@host "ls -l /var/log"  # 查看远程服务器日志
  2. 文件传输(SCP/SFTP)

    • SCP命令
      scp file.txt user@host:/remote/path   # 上传
      scp user@host:/remote/file.txt ./     # 下载
    • SFTP交互模式
      sftp user@host   # 启动SFTP会话
      sftp> put local_file  # 上传文件
      sftp> get remote_file # 下载文件
  3. 端口转发

    • 本地端口转发(访问远程服务):
      ssh -L 8080:localhost:80 user@host  # 本地8080映射到远程80端口
    • 远程端口转发(暴露本地服务):
      ssh -R 9000:localhost:3000 user@host  # 远程9000映射到本地3000端口

安全加固实践

  1. 禁用密码登录(修改服务器配置)
    编辑 /etc/ssh/sshd_config

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

    重启服务:sudo systemctl restart sshd

  2. 使用Fail2ban防御暴力破解

    sudo apt install fail2ban  # Debian/Ubuntu
    sudo systemctl enable fail2ban
  3. 密钥文件权限检查
    确保私钥权限为600:

    chmod 600 ~/.ssh/id_rsa

常见问题解决

  • 连接超时
    检查防火墙:sudo ufw allow 22(或自定义端口)
    确认SSH服务状态:systemctl status sshd

  • 密钥登录失败
    验证服务器 authorized_keys 文件权限:

    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
  • “Host key verification failed”错误
    清除旧指纹:

    ssh-keygen -R hostname  # 更新已知主机记录

SSH是Linux系统管理的基石,掌握密钥认证、端口转发和安全配置能显著提升工作效率与系统安全性,建议:

  1. 始终使用密钥替代密码
  2. 定期更新SSH服务版本
  3. 通过ssh -v输出诊断复杂问题

引用说明

  • OpenSSH官方文档:https://www.openssh.com/manual.html
  • Linux man pages(man ssh
  • NIST安全配置指南:SP 800-123 基于Linux 5.x+内核及OpenSSH 8.9+版本验证*

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

(0)
酷番叔酷番叔
上一篇 2025年7月31日 06:17
下一篇 2025年7月31日 06:40

相关推荐

  • UG NX回转命令怎么操作?

    UG NX的回转命令通过绕指定轴旋转截面轮廓来创建三维实体或曲面,用户需定义旋转截面、旋转轴,并可控制旋转角度、布尔运算等参数,是生成轴对称零件的核心工具。

    2025年6月26日
    3300
  • 如何正确使用git push同步代码?

    基础用法首次推送本地分支将当前分支推送到远程仓库的同名分支(若远程不存在则自动创建):git push -u origin 分支名 # -u 设置默认关联,后续可直接用 git push示例:git push -u origin main后续简化推送关联后只需执行:git push # 自动推送到关联的远程分支……

    2025年7月8日
    3800
  • 笔记本摄像头怎么用命令行打开软件

    Linux系统中,可使用命令guvcview或v4l2ucp

    2025年8月16日
    1500
  • Linux如何查看PATH环境变量?

    查看当前PATH的3种核心方法echo $PATH命令(最常用)在终端直接输入:echo $PATH输出示例:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games说明:冒号分隔不同目录路径,系统会按从左到右的顺序搜索目录(如先查/usr/local/b……

    2025年6月22日
    4300
  • npm安装插件命令有哪些技巧?

    作为Node.js的默认包管理工具,npm(Node Package Manager)是前端开发和JavaScript生态的核心,以下是经过验证的安装方法,所有命令均基于npm官方文档(v9+版本)和Node.js最佳实践,基础安装命令本地安装(项目依赖)在项目根目录执行:npm install <pac……

    2025年7月28日
    2000

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信