【ssh基础知识】

ssh基础知识

  • 常用命令
  • 登录流程
  • 配置文件
  • ssh密钥登录
    • 生成密钥
    • 上传公钥
    • 关闭密码登录
  • ssh服务管理
  • 查看日志
  • ssh端口转发

ssh(ssh客户端)是一个用于登录到远程机器并在远程机器上执行命令的程序。
它旨在提供安全的加密通信在不安全的网络上的两个不受信任的主机之间。X11连接、任意TCP端口和UNIX域套接字也可以通过安全通道进行转发。

常用命令

ssh user@hostname

-l:用户名也可以使用ssh的-l参数指定,这样的话,用户名和主机名就不用@写在一起了。

ssh -l username host

-p:指定端口,ssh默认端口是22,如果需要指定其它端口就需要使用-p 端口号

ssh -p 9022 user@hostname

登录流程

如果首次连接一台服务器,会收到下面这段信息,主要显示服务器指纹和MD5,并询问是否继续连接

[root@localhost ~]# ssh -l root 192.168.33.11
The authenticity of host '192.168.33.11 (192.168.33.11)' can't be established.
ECDSA key fingerprint is SHA256:EqwKUqtyrlB8QR82eSreSs+542WqvmGWEE+PSilKKKI.
ECDSA key fingerprint is MD5:19:1b:c1:4c:1d:61:56:e7:ff:5b:15:41:74:02:be:a4.
Are you sure you want to continue connecting (yes/no)? yes

输入yes,就可以将当前连接服务器的指纹储存到本机~/.ssh/known_hosts文件中。以后再连接的时候,就不会再出现警告了。
然后,客户端就会跟服务器建立连接。输入所要登录账户的密码。用户输入并验证密码正确以后,就能登录远程服务器的 Shell了。

# 执行远程命令ssh username@hostname command
# 需要互动式的 Shell 环境ssh -t username@hostname command

配置文件

SSH 客户端的全局配置文件是/etc/ssh/ssh_config,用户个人的配置文件在~/.ssh/config,优先级高于全局配置文件。
除了配置文件,~/.ssh目录还有一些用户个人的密钥文件和其他文件。下面是其中一些常见的文件。

  • ~/.ssh/id_ecdsa:用户的 ECDSA 私钥。
  • ~/.ssh/id_ecdsa.pub:用户的 ECDSA 公钥。
  • ~/.ssh/id_rsa:用于 SSH 协议版本2 的 RSA 私钥。
  • ~/.ssh/id_rsa.pub:用于SSH 协议版本2 的 RSA 公钥。
  • ~/.ssh/identity:用于 SSH 协议版本1 的 RSA 私钥。
  • ~/.ssh/identity.pub:用于 SSH 协议版本1 的 RSA 公钥。
  • ~/.ssh/known_hosts:包含 SSH 服务器的公钥指纹。

ssh密钥登录

SSH 密钥登录分为以下的步骤。
预备步骤,客户端通过ssh-keygen生成自己的公钥和私钥。
第一步,手动将客户端的公钥放入远程服务器的指定位置。
第二步,客户端向服务器发起 SSH 登录的请求。
第三步,服务器收到用户 SSH 登录的请求,发送一些随机数据给用户,要求用户证明自己的身份。
第四步,客户端收到服务器发来的数据,使用私钥对数据进行签名,然后再发还给服务器。
第五步,服务器收到客户端发来的加密签名后,使用对应的公钥解密,然后跟原始数据比较。如果一致,就允许用户登录。

生成密钥

ssh-keygen

-t参数,指定密钥的加密算法

ssh-keygen -t dsa

-t参数用来指定密钥的加密算法,一般会选择 DSA 算法或 RSA 算法。如果省略该参数,默认使用 RSA 算法。

上传公钥

方法1:

cat ~/.ssh/id_rsa.pub | ssh username@hostname "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
chmod 644 ~/.ssh/authorized_keys

方法2:

ssh-copy-id -i key_file username@hostname

关闭密码登录

vi /etc/ssh/sshd_config

对于 OpenSSH,具体方法就是打开服务器 sshd 的配置文件/etc/ssh/sshd_config,将PasswordAuthentication这一项设为no。

PasswordAuthentication yes

ssh服务管理

# 启动
systemctl start sshd.service# 停止
systemctl stop sshd.service# 重启
systemctl restart sshd.service

查看日志

# 查看服务日志
journalctl -u ssh
# 查看系统日志
tail -f /var/log/auth.log
# 查看登录详细
lastlog

ssh端口转发

ssh -l proxy -p1022 -qngfNTR 1023:localhost:1022 192.168.10.11 -o ServerAliveInterval=10

参数详解:
-l proxy:指定用户proxy,推荐默认非root用户
-p1022:中转机器A的ssh端口
-qngfNTR:静默模式、后台执行ssh指令、不执行远程指令、不要求分配终端、允许远程主机连接主机的转发端口
1023:localhost:1022:配置转发端口:本机:本机ssh端口,注意本机端口需要在ssh配置文件中添加
192.168.10.11:中转机器A的内网IP
-o ServerAliveInterval=10:是让客户端每10s发送一个心跳保持隧道的链接,否则这条连接很容易被重置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/228005.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

07 使用v-for实现循环渲染

概述 To loop over HTML elements in Vue, you use the v-for loop directive directly on the target elements. When Vue renders the component, it will iterate the target to use and render the data being parsed into the directive, with the same concept as a nor…

代码随想录27期|Python|Day16|二叉树|104.二叉树的最大深度|111.二叉树的最小深度|222.完全二叉树的节点个数

二叉树专题,重点掌握后续的递归和中间节点的处理。 104. 二叉树的最大深度 - 力扣(LeetCode) 本题在前一章已经解决了层序遍历的解法,现在来聊一下递归法。 首先需要明确两个概念:深度和高度。(注意&…

双向数据123

1. 原理 双向数据绑定的原理是使用数据劫持(或者称为响应式)和事件监听。当数据发生变化时,会触发视图的更新;同时,当用户与视图进行交互(如在输入框中输入文字),变化会反映到数据模…

conda操作命令汇总

目录 conda命令:环境的创建与删除包(第三方库)的安装与卸载 参考链接 conda命令:环境的创建与删除 1.查看自己配置的环境 conda env list2.配置一个新的环境 conda create -n 环境的名字 python版本号3.进入和退出环境 activa…

抠图软件哪个好用?什么软件可以抠图换背景?

抠图软件哪个好用?在图片处理中,抠图换背景是一项常见的操作。很多新手可能会对此感到困惑,不知道应该使用什么软件来进行抠图换景。实际上,现在市面上有很多图片处理软件都具备抠图换背景的功能,每款软件都有其优缺点…

静态代理和动态代理的区别,什么场景使用

文章目录 静态代理和动态代理的区别,什么场景使用?静态代理:动态代理:实现步骤:使用场景: 静态代理和动态代理的区别,什么场景使用? 代理是一种常用的设计模式,目的是&a…

LVS负载均衡群集部署 DR模式

目录 DR模式直接路由 LVS-DR工作原理 LVS-DR 数据包流向分析 DR 模式的特点 DR模式 LVS负载均衡群集部署 DR模式直接路由 Direct Routing,简称DR模式,采用半开放式的网络结构,与TUN模式的结构类似,但各节点并不是分散在各地…

c语言链表的基本操作

在C语言中,链表是一种常见的数据结构,它由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的指针。链表的基本操作包括创建、插入、删除和遍历等。 下面是一个简单的链表节点结构体定义: struct Node { int da…

Python实现员工管理系统(Django页面版 ) 六

本篇博客主要实现用户账号管理,这与之前的账号管理不同,之前的账号管理你可以理解为公司在外面买的一些手机号然后需要发放给员工做内部使用,而本篇博客的用户账号管理主要是为了后续的登录网页实现,那么我们开始今天的项目实现吧…

392. 判断子序列

双指针 class Solution {public boolean isSubsequence(String s, String t) {int i 0, j 0;while (i < s.length() && j < t.length()) {if (s.charAt(i) ! t.charAt(j)) {j;} else {i;j;}}if (i s.length()) return true;else return false;} }*有余力可以…

2. 套圈(分治)

题目 Have you ever played quoit in a playground? Quoit is a game in which flat rings are pitched at some toys, with all the toys encircled awarded. In the field of Cyberground, the position of each toy is fixed, and the ring is carefully designed so it c…

搭建消息时光机:深入探究RabbitMQ_recent_history_exchange在Spring Boot中的应用【RabbitMQ实战 二】

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 搭建消息时光机&#xff1a;深入探究RabbitMQ_recent_history_exchange在Spring Boot中的应用 引言前言第一&#xff1a;开启插件支持第二&#xff1a;springboot整合第三&#xff1a;效果展示交换机属…

locust 压测 websocket

* 安装 python 3.8 https://www.python.org/ py --version * 安装 locust pip install locust2.5.1 -i http://pypi.douban.com/simple/ pip install locust2.5.1 -i https://pypi.mirrors.ustc.edu.cn/simple/ locust -V 备注&#xff1a;-i 是切换下载源 * 安装依赖 pip ins…

Electron框架:构建跨平台桌面应用的终极解决方案

文章目录 一、Electron框架简介二、Electron框架的优势1. 开发效率高2. 跨平台性能好3. 易于维护4. 强大的原生能力 三、如何使用Electron框架快速开发跨平台桌面应用1. 安装Electron2. 创建项目文件夹3. 编写主进程代码4. 编写界面代码5. 运行应用 《Electron入门与实战》编辑…

《软件方法》2023版1.1利润=需求-设计1.2 ABCD工作流

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 第1章 建模和UML 牵着你走进傍晚的风里&#xff0c;看见万家灯火下面平凡的秘密。 《情歌唱晚》&#xff1b;词&#xff1a;黄群&#xff0c;曲&#xff1a;黄群&#xff0c;唱&#…

word文档实现“目录索引中标题加粗、前导符(...)和页码不加粗”效果

文章目录 1 展示论文模板需要呈现的效果2 所遇到的问题2.1 情形1&#xff1a;当更新整个目录后&#xff0c;目录中的所有文字都不加粗2.2 情形2&#xff1a;无法单独选中文字部分&#xff0c;如果相对文字部分加粗&#xff0c;则前导符和页码也会同时加粗 3 解决步骤3.1 步骤1&…

CIDR(无类域间路由)与VLSM(可变长度子网掩码)的区别

CIDR和VLSM的介绍 CIDR CIDR&#xff08;Classless Inter-Domain Routing&#xff0c;无类域间路由&#xff09;是一种用于对互联网协议&#xff08;IP&#xff09;地址进行聚合和分配的标准。CIDR的引入旨在解决IPv4地址空间的不足和低效分配的问题。在传统的IP地址规划中&a…

关键点检测之修改labelme标注的json中类别名

import json import os import shutil#source_dir表示数据扩增之后的文件夹路径&#xff0c;此时标注的是多分类的标签 #new_dir表示转化之后得到的二分类文件夹def to2class():#json存放路径source_dir r1#json保存路径new_dir r1for i in os.listdir(source_dir):if i.ends…

文本聚类——文本相似度(聚类算法基本概念)

一、文本相似度 1. 度量指标&#xff1a; 两个文本对象之间的相似度两个文本集合之间的相似度文本对象与集合之间的相似度 2. 样本间的相似度 基于距离的度量&#xff1a; 欧氏距离 曼哈顿距离 切比雪夫距离 闵可夫斯基距离 马氏距离 杰卡德距离 基于夹角余弦的度量 公式…

银行数字化转型导师坚鹏:银行数字化转型正在重塑您的工作

您好&#xff0c;我是银行数字化转型导师坚鹏。坚持知行果合一&#xff0c;赋能数字化转型&#xff01;非常荣幸和您分享关于银行数字化转型如何影响老百姓工作的一些思考。 您知道吗&#xff1f;银行数字化转型给您的工作方式带来新变化、新趋势、新潮流啦&#xff01;在这个…