SSH 的技巧
SSH 连接 通过命令行的方式,安全地远程连接并控制另一台电脑或者服务器。同时具有跨系统,安全,高效的特点。
(一)连接到 Windows 系统
(1)配置
(2)免密登录
(二)连接到 Ubuntu 系统
(1)配置
(2)免密登录
首先进入被控制的 Linux 用户根目录,创建 SSH 目录
cd ~
mkdir .ssh
chmod 700 .ssh
注意这个目录是 /home/heihe, 而不是 / !
在控制端 生成过秘钥
ssh-keygen -t rsa -b 4096
该秘钥被保存在 C:\Users\[用户名]\.ssh 路径下,

我们需要把公钥 id_rsa.pub上传到被控端的 ~/.ssh/authorized_keys 文件中
上传完成后赋予可执行权限
chmod 600 ~/.ssh/authorized_keys
启用相关配置
vim /etc/ssh/sshd_config
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
重启被控端服务器的 SSH
sudo systemctl restart ssh
现在就可以免秘钥登录了
如果要添加第二个控制端,只要在 ~/.ssh/authorized_keys 文件中 换行添加另一个秘钥即可。一个机器一行
(三)保持长连接
(1)服务器端设置
打开并编辑服务器上的 SSH 配置文件:
sudo nano /etc/ssh/sshd_config
添加或修改以下两项:
ClientAliveInterval 60
ClientAliveCountMax 10
解释:
ClientAliveInterval 60:每隔 60 秒,服务器向客户端发送一次“心跳包”。ClientAliveCountMax 10:如果连续 10 次没有收到客户端响应,才断开(总共等待 10 分钟)。
设置后需重启 SSH 服务使其生效:
sudo systemctl restart ssh
(2)客户端设置
如果你是通过 Windows 资源管理器映射网络驱动器:
- 改用命令行
net use显式建立持久连接:
net use Z: \\sshfs.r\heihe@172.27.50.28 /persistent:yes
sshfs.r是 SSHFS-Win 的驱动程序前缀。/persistent:yes表示每次重启自动重新挂载。
- 确保 Windows 防火墙不会阻断空闲连接:
- 控制面板 → Windows 防火墙 → 允许程序 → 允许
SSHFS-Win和WinFsp通信。
- 关闭 Windows 电源优化选项:
- 控制面板 → 电源选项 → 当前计划设置 → 更改高级电源设置。
- 网络适配器 → 节能模式:设置为最大性能。
- 睡眠 → 睡眠后:从不
- USB 设置 → USB选择性挂起设置:禁用
(3)替代挂载方式
你可以不使用资源管理器挂载,而使用更可靠的命令行 SSHFS:
安装 WinFsp 和 SSHFS-Win CLI 版本:
官方下载链接:
安装后,在管理员终端中运行:
sshfs heihe@172.27.50.28:/ Z: -o reconnect,ServerAliveInterval=60,ServerAliveCountMax=10
关键参数说明:
-o reconnect:自动重连ServerAliveInterval=60:每 60 秒发送心跳包ServerAliveCountMax=10:容忍最多 10 次无响应
你可以把这个命令写进 .bat 批处理文件,每次开机运行自动挂载。
(4)最终保障措施
你还可以设置一个计划任务,每隔一段时间访问一次挂载盘(如读取某个小文件),防止系统认为你在“空闲”。
例如写一个 .bat 文件如下内容:
type Z:\keepalive.txt > nul
然后用 Windows 计划任务每 5 分钟运行一次这个脚本。