SSH笔记

SSH笔记

记录一些ssh连接用到的命令

SSH连接远程服务器

bash 复制代码
# 直接连接
ssh user@ip

# 特定端口连接
ssh -P 12345 user@ip

创建本机SSH密钥

生成新的密钥

bash 复制代码
rm -r ~/.ssh
ssh-keygen -t rsa

然后全部选择回车

查看生成好的密钥

bash 复制代码
cat ~/.ssh/id_rsa.pub

拉取或推送远程文件

bash 复制代码
# 拉取
scp -r user@ip:/远程文件绝对路径 /本地文件绝对路径

# 推送
scp -r /本地文件绝对路径 user@ip:/远程文件绝对路径

将本地端口基于SSH映射到远程服务器

仅转发端口信息,不进入远程ssh终端

bash 复制代码
# 非后台运行
ssh -D 10080 -N -C user@ip

# 后台运行
ssh -D 10080 -N -f -C user@ip

查看是否在运行

bash 复制代码
ps aux | grep ssh

杀死后台运行

bash 复制代码
pkill -f "ssh -D 10080"

SSH免密连接

首先生成本地的SSH密钥

然后推送到云服务器:

bash 复制代码
ssh-copy-id user@ip

SSH自动重连

安装autossh:

bash 复制代码
sudo apt install autossh

自动重连的连接:

bash 复制代码
autossh -M 0 -D 10080 -N -C -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" user@ip

参数解读:
-o ServerAliveInterval=30: 每 30 秒向服务器发送一次心跳包,防止因空闲被切断
-o ServerAliveCountMax=3: 如果连续 3 次心跳无响应,则认定连接已断开并退出

将其设置为开机自启动

新建服务配置文件

bash 复制代码
sudo vim /etc/systemd/system/ssh_autotool.service

写入内容:

bash 复制代码
[Unit]
Description=ssh_autotool
After=network-online.target
# 强制要求网络就绪后再启动
Requires=network-online.target
# 可选:如果用NetworkManager管理网络,添加这个依赖
After=NetworkManager.service

[Service]
User=建立ssh连接的用户名
Environment="AUTOSSH_GATETIME=0"
ExecStartPre=/bin/sleep 5
ExecStart=/usr/bin/autossh -M 0 -D 10080 -N -C -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" user@ip
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

启动配置:

bash 复制代码
systemctl daemon-reload
systemctl enable ssh_autotool.service
systemctl start ssh_autotool.service
相关推荐
RainCity1 天前
Java Swing 自定义组件库分享(十二)
java·笔记·后端
Web3探索者6 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
LinXunFeng8 天前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
开发者联盟league13 天前
安装pnpm
ssh
闪闪发亮的小星星13 天前
高斯光以及高斯光公式解释
笔记
cqbzcsq13 天前
CellFlow虚拟细胞论文阅读
论文阅读·人工智能·笔记·学习·生物信息
2601_9618752413 天前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant
阿米亚波13 天前
【Windows】QEMU 启动 openEuler aarch64/arm64 架构系统 + 离线软件源
linux·windows·经验分享·笔记·架构·arm
自传.13 天前
尚硅谷 Vibe Coding|第三章(1) Claude Code深度使用与进阶技巧 学习笔记
笔记·学习·尚硅谷·vibecoding
.千余13 天前
【C++】模板进阶全解:非类型参数|全特化|偏特化|分离编译完全指南
开发语言·c++·笔记·学习·其他