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
相关推荐
学计算机的计算基8 分钟前
操作系统内存管理全解:虚拟内存、页表、COW、malloc、OOM一篇搞定
java·笔记·算法
AOwhisky15 分钟前
Python 学习笔记(第五期)——组合数据类型:列表、元组、集合与字典精讲——核心知识点自测与详解
开发语言·笔记·python·学习·云计算
砚凝霜16 分钟前
软考网络工程师|第 2 章 信道延迟、传输介质、数据编码、数字调制、PCM 完整备考笔记
网络·笔记·pcm
遇乐的果园13 小时前
前端学习笔记-vue加载渲染优化
前端·笔记·学习
遇乐的果园15 小时前
前端学习笔记-vue状态管理优化
前端·笔记·学习
摇滚侠16 小时前
Java 全栈开发实战教程 课程笔记 29-33
笔记
茯苓gao16 小时前
嵌入式开发笔记:EtherCAT协议从硬件到软件完整配置指南——从零搭建一套EtherCAT通信系统
笔记·嵌入式硬件·学习
whyTeaFo17 小时前
GAMES101: Lecture 9: Shading 3(Texture Mapping cont.) ppt笔记
笔记
chase。18 小时前
【学习笔记】PointWorld:迈向通用机器人操控的3D世界模型
笔记·学习·机器人
星恒随风20 小时前
C++ STL 栈详解:stack 的使用、经典题目与简单模拟实现
开发语言·数据结构·c++·笔记·学习