当前位置: 首页 > news >正文

ssh工具

文章目录

  • ssh简介
  • ssh远程连接
  • Linux下使用SSH
    • 安装
      • 安装ssh服务端
      • 安装ssh客户端
    • 命令
      • 启动
      • 重启
      • 查看ssh的状态
    • ssh 配置文件
    • ssh连接地址 配置文件
      • 基本配置
      • 注意
      • 通配符
      • 心跳和密钥
      • ssh的Include
      • 跳板 ProxyJump
      • 内网穿透
  • Windows下使用SSH
    • 安装
    • ssh 配置文件
    • ssh连接地址 配置文件

ssh简介

ssh(Secure Shell,简称SSH)是安全外壳协议,是一种在不安全网络上用于安全远程登录和其他安全网络服务的协议。

ssh远程连接

格式:

ssh 远程用户名@远程主机ip
ssh -p 端口号 远程用户名@远程主机ip
ssh 远程用户名@远程主机ip -p 端口号

示例:

ssh root@47.xx.xxx.90
然后要输入root用户的密码

当然想要使用ssh,那么计算机上必须安装了ssh程序。

Linux下使用SSH

以Ubuntu为例。

安装

安装ssh服务端

安装了openssh-server才能被其他主机连接。

sudo apt-get install openssh-server

安装ssh客户端

安装了openssh-client才能连接远程主机。

sudo apt-get install sshsudo apt-get install openssh-client

命令

启动

systemctl start ssh或systemctl start sshd或service ssh start或启动sshserver:/etc/init.d/ssh start

重启

systemctl restart ssh或systemctl restart sshd或service ssh restart或重启sshserver:/etc/init.d/ssh restart

查看ssh的状态

systemctl status ssh
或
systemctl status sshd
或
service ssh status

ssh 配置文件

ssh客户端配置文件:/etc/ssh/ssh_config

ssh服务端配置文件:/etc/ssh/sshd_config

修改配置文件后重启系统(电脑)生效。

ssh连接地址 配置文件

~/.ssh/config文件,没有的话,自己创建即可。

基本配置

config文件的内容

Host 自己给远程机器起的别名HostName 远程主机ip地址User 远程用户名Port 端口ForwardAgent yes

Host不能重复,重复的别名中只有第一个有效
Port默认值为22;使用22端口时,可省略Port行。
示例

Host ubuntuHostName 172.24.0.1User uuPort 22ForwardAgent yes

设置好配置文件:可以通过ssh 别名 —> 输入“密码” —> 回车,来登录远程计算机(机器),如:

ssh ubuntu
输入密码

注意

~/.ssh/config文件,ssh远程机器配置信息,有覆盖效果;前面配置的信息,会覆盖后面配置的Host同名的信息。

通配符

Host server*User uuPort 22ForwardAgent yesHost server1HostName 172.24.0.1Host server2HostName 172.24.0.2Host server3HostName 172.24.0.3

存在用户名、端口等不相同的信息,防止覆盖:

Host server1HostName 172.24.0.1Host server2HostName 172.24.0.2User s2Host server3HostName 172.24.0.3Port 3333Host server*User uuPort 22ForwardAgent yes

心跳和密钥

Host 自己给远程机器起的别名HostName 远程主机ip地址User 远程用户名Port 端口ForwardAgent yesServerAliveInterval 180IdentityFile ~/.ssh/secret_key.pem

ServerAliveInterval 心跳机制。180 表示在建立连接后,每隔180秒向远程机器发送一个心跳,避免用户长时间无操作而导致连接中断。
IdentityFile ~/.ssh/secret_key.pem 表示使用指定密钥(专用密钥)。

ssh的Include

ssh支持多文件引用,可通过在~/.ssh/config文件使用Include包含多个配置文件。

# 默认配置文件
~/.ssh/config# 其他文件示例
~/.ssh/config1
~/.ssh/config2
~/.ssh/config3
/path/to/config4

~/.ssh/config,使用Include

# 分别include每个配置文件
Include config1
Include config2
Include config3
Include /path/to/config4# 使用通配符
Include config*
Include /path/to/config4

跳板 ProxyJump

Host JumperHostName 74.24.x.xUser hahaPort 22Host server*User hahaPort 22ProxyJump JumperForwardAgent yesHost server1HostName 172.24.0.1Host server2HostName 172.24.0.2Host server3HostName 172.24.0.3

Jumper 为跳板,Host Jumper段配置了跳板机的登陆方式;跳板机也是远程机器,可以通过ssh连接到它,前提是跳板机也有User haha,并且Port是跳板机的ssh端口。
Host server*中ProxyJump指定了所有server开头的远程机器(服务器),在登录时从哪里跳转到对应server;这里的User、Port要设置到Jumper的User和Port中。

内网穿透

使用frp等进行内网穿透。

local* 是公网服务器,HostName是公网ip。

local_1、local_2 是内网机器,Port是本地的ssh端口,公网服务器需要开放对应端口。

Host local*HostName 74.24.x.xHost local_1#HostName 172.24.46.100 假设内网ip是这样的User uuPort 16000Host local_docker_1#HostName 172.24.46.159  假设内网ip是这样的User u1Port 16010Host local_docker_2#HostName 172.24.46.159  假设内网ip是这样的User u2Port 16020

Windows下使用SSH

安装

适用于 Windows 的 OpenSSH 入门 | Microsoft Learn

ssh 配置文件

C:\ProgramData\ssh\sshd_config

ssh连接地址 配置文件

C:/User/用户名/.ssh/config,如果文件不存在,可以自己新建,编写方式同Linux。

http://www.lryc.cn/news/542245.html

相关文章:

  • LLM大语言模型私有化部署-使用Dify的工作流编排打造专属AI诗词数据分析师
  • Windows 图形显示驱动开发-WDDM 3.2-自动显示切换(二)
  • 基于CentOS7安装kubesphere和Kubernetes并接入外部ES收集日志
  • 软考教材重点内容 信息安全工程师 第17章 网络安全应急响应技术原理与应用
  • 使用 DeepSeek + OmniParser v2 + UIAutomation 实现 GUI 应用自动化测试的探索
  • Spring Security面试题
  • 从零开始构建基于DeepSeek的智能客服系统
  • Linux故障排查和性能优化面试题及参考答案
  • 【无人集群系列---大疆无人集群技术进展、技术路线与未来发展方向】
  • 【亲测有效】百度Ueditor富文本编辑器添加插入视频、视频不显示、和插入视频后二次编辑视频标签不显示,显示成img标签,二次保存视频被替换问题,解决方案
  • ubuntu windows双系统踩坑
  • 嵌入式八股文(五)硬件电路篇
  • flink使用demo
  • OpenCV(8):图像直方图
  • 力扣LeetCode:1656 设计有序流
  • NGINX配置TCP负载均衡
  • vm和centos
  • c#丰田PLC ToyoPuc TCP协议快速读写 to c# Toyota PLC ToyoPuc读写
  • 量子计算的数学基础:复数、矩阵和线性代数
  • 【JavaScript】《JavaScript高级程序设计 (第4版) 》笔记-Chapter22-处理 XML
  • 一个不错的API测试框架——Karate
  • 文字语音相互转换
  • DeepSeek-R1:通过强化学习激发大语言模型的推理能力
  • MATLAB中fft函数用法
  • 【SpringBoot】【JWT】使用JWT的claims()方法存入Integer类型数据自动转为Double类型
  • Crack SmartGit
  • 【备赛】在keil5里面创建新文件的方法+添加lcd驱动
  • Rk3568驱动开发_驱动实现流程以及本质_3
  • 【学习笔记】LLM+RL
  • 深入理解IP子网掩码子网划分{作用} 以及 不同网段之间的ping的原理 以及子网掩码的区域划分