如何用命令行SSH连接?

SSH是一种加密网络协议,用于通过命令行安全访问远程服务器执行操作,也支持文件传输。

在Windows环境下连接Linux系统是跨平台操作中常见的需求,无论是远程管理服务器、文件传输还是开发协作,掌握高效安全的连接方法至关重要,以下是经过验证的详细方案,涵盖主流工具和操作步骤,确保符合安全性与易用性标准。
适用场景:服务器管理、命令行调试、脚本执行
核心工具:OpenSSH(内置)或 PuTTY
步骤

  1. Linux端准备

    • 确保SSH服务已安装并运行(默认端口22):
      sudo apt install openssh-server  # Ubuntu/Debian
      sudo systemctl start sshd        # 启动服务
    • 允许防火墙通行(若启用):
      sudo ufw allow 22
  2. Windows端操作

    • 方法1:使用PowerShell(推荐)
      打开PowerShell,输入:

      ssh username@linux_ip  # ssh user@192.168.1.100

      首次连接需确认主机指纹,输入Linux用户密码即可登录。

    • 方法2:使用PuTTY
      1. 下载安装 PuTTY
      2. 打开PuTTY → 输入Linux的IP地址 → 端口22 → 点击”Open”
      3. 输入用户名和密码完成验证。

安全强化

  • 改用密钥认证(避免密码泄露):
    # Windows生成密钥对
    ssh-keygen -t rsa
    # 将公钥复制到Linux
    scp C:\Users\用户名\.ssh\id_rsa.pub user@linux_ip:~/.ssh/authorized_keys

远程桌面连接(图形化界面)

适用场景:需要Linux桌面环境(如Ubuntu GNOME)
核心工具:xRDP(Linux端) + Windows远程桌面(mstsc)
步骤

  1. Linux端配置

    sudo apt install xrdp  # Ubuntu/Debian
    sudo systemctl enable xrdp --now
    sudo ufw allow 3389    # 开放xRDP默认端口
  2. Windows端操作

    • Win+R 输入 mstsc → 输入Linux的IP地址 → 连接
    • 选择会话类型(默认Xorg)→ 输入Linux用户名和密码

注意

  • 若连接黑屏,尝试修改xRDP配置:
    echo "exec startxfce4" > ~/.xsession  # 指定轻量桌面(如XFCE)
    sudo systemctl restart xrdp

文件传输(跨系统共享)

方案1:WinSCP(图形化工具)

  1. 下载 WinSCP
  2. 选择协议 SFTP → 输入Linux的IP、用户名、密码
  3. 拖拽文件即可双向传输,支持权限管理。

方案2:Samba共享(网络驱动器映射)

  1. Linux端安装Samba

    sudo apt install samba
    sudo nano /etc/samba/smb.conf

    添加配置:

    [share]
    path = /home/用户名/shared_folder
    writable = yes
    valid users = 用户名
  2. 创建共享目录并设置权限:

    mkdir ~/shared_folder
    sudo smbpasswd -a 用户名  # 设置Samba密码
    sudo systemctl restart smbd
  3. Windows端访问

    • 文件资源管理器 → 地址栏输入 \\linux_ip\share
    • 输入Samba用户名和密码 → 映射为网络驱动器

专业集成工具(全能方案)

  • MobaXterm(官网下载):
    集SSH、SFTP、远程桌面于一体,支持多标签会话和X11转发。
  • Windows Terminal(微软商店安装):
    支持SSH、PowerShell、WSL无缝集成,可保存多个Linux连接配置。

安全与故障排查

  1. 防火墙规则
    • Windows:确保出站规则允许SSH(端口22)、RDP(端口3389)
    • Linux:使用 ufw status 检查端口开放状态
  2. 连接失败处理
    • 检查IP是否正确:ip a(Linux)或 ipconfig(Windows)
    • 测试网络连通性:ping linux_ip
    • 查看服务状态:sudo systemctl status sshd/xrdp
  3. 禁用密码登录(仅密钥)
    编辑 /etc/ssh/sshd_config

    PasswordAuthentication no
    PubkeyAuthentication yes

引用说明

  • OpenSSH官方文档:https://www.openssh.com/manual.html
  • xRDP配置指南:http://www.xrdp.org/
  • Microsoft远程桌面协议:https://docs.microsoft.com/zh-cn/windows-server/remote/remote-desktop-services/clients/remote-desktop-clients
  • 网络安全最佳实践:NIST SP 800-123(https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-123.pdf)

通过上述方法,可覆盖从命令行到图形界面、文件共享的全场景需求,建议日常管理使用SSH+密钥认证,图形操作选用xRDP,文件共享优先Samba,兼顾效率与安全。

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

(0)
酷番叔酷番叔
上一篇 2025年7月12日 10:59
下一篇 2025年7月12日 11:13

相关推荐

  • 如何在众多Linux版本中为PHP开发选择最合适的?

    在选择Linux版本用于PHP开发时,需要综合考虑开发需求、环境稳定性、软件包支持、社区活跃度及硬件资源等多方面因素,Linux发行版种类繁多,不同版本在包管理、默认软件版本、更新策略等方面存在差异,选择合适的版本能显著提升开发效率和环境可靠性,以下从核心需求出发,分析主流Linux发行版的特点,并提供不同场景……

    2025年8月27日
    1300
  • 如何查看当前用户所属组?

    查看现有用户组在操作前,先确认当前用户组信息:# 查看系统所有用户组cat /etc/group# 查看特定用户所属组(如用户alice)groups alice加入用户组的3种方法方法1:使用usermod命令(需root权限)sudo usermod -aG 组名 用户名参数说明-a:追加用户组(避免移除原……

    2025年6月24日
    4000
  • Linux如何查看网络端口状态及占用情况?

    在Linux系统中,网络端口管理是系统运维和开发中的核心任务之一,无论是排查服务是否正常监听、诊断端口冲突,还是进行安全审计,都需要掌握查看网络端口的方法,Linux提供了多种命令和工具来查看端口状态、关联进程及详细信息,下面将详细介绍这些工具的使用方法及适用场景,使用netstat命令查看端口netstat是……

    2025年8月22日
    1500
  • linux如何查看物理网卡

    Linux中,可使用ip link show或ifconfig -a命令查看物理

    2025年8月13日
    1200
  • 关机状态真的断电了吗?

    关机状态指电子设备完全切断电源,所有运行中的程序和数据从内存中清除,处理器停止工作,设备处于无电力消耗的非待机模式。

    2025年6月24日
    3800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信