ssh连接云服务器记录

文章目录

    • 1. 背景
    • 2. ssh连接
      • 2.1 win 下通过终端工具进行连接
      • 2.2 Linux下通过ssh指令连接
      • 2.3 ssh使用publickey来连接

ssh连接云服务器记录

1. 背景

最近开始接触docker技术、mysql技术,加上本人工作基本都在Linux下进行,因此需要一套Linux环境进行练习。虽然本人有一台ARM架构的Linux设备,但好多软件没有现成的,需要交叉编译,影响实际的效率。思之又之,决定租赁一台云服务器进行快速开始。

🎯 🏹 总之,为了快速实现我们的需求,选择了 云服务器方式。

此处省略云服务器搭建过程,一般购买后,设置对应的OS,设置一下密码,开启对应的端口就可以进行连接了。

2. ssh连接

云服务器可以直接打开网站,在网站上通过CloudShell进行连接,缺点是必须要进入对应的网页。对于我们这种懒人来说,当然是在本地使用ssh远程连接更方便的。

在使用 ssh 进行连接之前,我们需要获取一下公网IP:
在这里插入图片描述

2.1 win 下通过终端工具进行连接

本人这里的终端工具是免费版的 mobaxterm,有需要的可以进行下载 mobaxterm下载,打开软件后,按照下面进行操作:
在这里插入图片描述

上面输入IP后,点击OK进入下面的界面,输入用户名和密码后即可进行登录
在这里插入图片描述

2.2 Linux下通过ssh指令连接

当我们有一台Linux设备,或者本身就双系统的时候,在Linux下没有Mobaxterm软件,想要连接云服务器的时候,就需要通过ssh指令进行操作了:

ssh 连接的时候,直接 ssh + 公网IP 就可以了,但是初次竟然失败了:
在这里插入图片描述

折腾了好久,查询资料以及看云服务器测的失败说明,都没有解决问题,后面猛然间发现用户名怎么是cat不是我们的root,猜测应该是继承了我们的设备主机名,因此换一个连接方式试一下:

ssh root@xx.xx.xx.xx   #后面的xx.xx.xx.xx 公网IP,前面的root是云服务器用户名

这一次密码输入后一下子就连接上了。

你以为到这就结束了,no,每次进入都要输入密码,我还是不想输入密码怎么办,请看下面我们使用publickey来解决这个问题。

2.3 ssh使用publickey来连接

如果我们在 Linux 服务器上正确配置了免密码登录,也就是使用用密钥认证代替密码认证,就可以实现不用输入密码就能远程登录到服务器。免密码登录的需求主要是为了方便、安全和高效

  • 实现方式

    • 在客户机生成秘钥对,然后把公钥传给远程机
  • 实现原理

    • 自己的公钥储存在远程主机上。当我们尝试登录时,远程主机会向客户端发送一段随机字符串。客户端使用自己的私钥进行加密,并将加密后的结果发送回远程主机。远程主机随后使用事先存储的客户端的公钥来尝试解密这个字符串。如果解密成功,远程主机就会确认客户端是可信的,并直接允许客户端登录到shell,无需再输入密码。
    • 加密和解密涉及到非对称加密算法(RSA),有兴趣的可以去研究下。
  • 生成秘钥对

    ssh-keygen -t rsa
    

    中间按3次回车即可生成秘钥对。

    cat@lubancat:~$ ls ~/.ssh/
    id_rsa  id_rsa.pub  known_hosts  known_hosts.old
    

    上面的id_rsa是我们生成的私钥,id_rsa.pub是我们的公钥。

    通过ssh-copy-id指令将本地的公钥传输到服务器端,指令格式如下:

    ssh-copy-id [选项] [用户名@]远程主机
    

    参数说明

    • -i:指定要复制的本地公钥文件路径,默认为~/.ssh/id_rsa.pub
    • 用户名:远程主机上的登录用户名,如果省略,则使用当前本地主机的用户名。
    • 远程主机:可以是远程主机的IP地址或域名。

此处,本人使用如下指令完成公钥传输:

ssh-copy-id -i ~/.ssh/id_rsa.pub root@xx.xx.xx.xx    #xx.xx.xx.xx为公网IP
# 可以使用下面的简化指令,默认会追加,不覆盖
ssh-copy-id root@xx.xx.xx.xx    #xx.xx.xx.xx为公网IP

注意事项

  • 如果远程主机的~/.ssh/authorized_keys文件不存在,ssh-copy-id命令会自动创建该文件。

  • 确保远程主机的SSH服务已启动,并且允许公钥认证登录。

    • 可以使用cat /etc/ssh/sshd_config指令查看是否是能公钥认证

      PermitRootLogin yes
      PasswordAuthentication yes
      UseDNS no
      HostKeyAlgorithms +ssh-rsa
      PubkeyAcceptedKeyTypes +ssh-rsa   #本机此处是指定使用ssh-rsa进行认证,若发现没有开启,执行搜索开启
      

然后我们在服务器侧查看 ~/.ssh/authorized_keys对比本地的公钥就知道有没有上传成功了。

后面我们再次连接ssh就发现不需要密码了。

行认证,若发现没有开启,执行搜索开启
```

然后我们在服务器侧查看 ~/.ssh/authorized_keys对比本地的公钥就知道有没有上传成功了。

后面我们再次连接ssh就发现不需要密码了。

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

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

相关文章

软考-软件设计师中级备考 12、软件工程

一、软件工程概述 定义:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量软件的学科。它涉及到软件的开发、测试、维护、管理等多个方面,旨在运用一系列科学方法和技术手段,提高软件的质量和开发效率,降低软件开…

【多次弹出“获取打开此tobiieyetracking链接的应用”的窗口】解决办法

使用联想R9000P突然出现“获取打开此tobiieyetracking链接的应用”的窗口,每隔几分钟就弹一次,特别恶心人,解决办法: 找到【此电脑】,鼠标右键【管理】;选择【服务】,如下所示,找到…

项目选择的三个核心因素:市场前景、竞争优势和成本控制

能保持持续增长和赚钱的项目就是好项目。 每个创业者创业之初,遇到的第一个难题就是选择做什么项目? 俗话说:方向不对,努力白费。 选错项目,意味着你所有的付出都是打水漂。 能做的项目那么多,在没有价值…

裸机 Kubernetes 集群负载均衡器:MetalLB 深度解析与实战指南

一、引言 在云原生架构中,Kubernetes 默认的负载均衡能力依赖于云厂商(如 AWS ELB、GCP LB),但在裸机或本地数据中心环境中,这一功能缺失导致 LoadBalancer 类型的 Service 始终处于 Pending 状态。此时,M…

2025年- H20-Lc128-240. 搜索二维矩阵 II(矩阵)---java版

1.题目描述 2.思路 遍历矩阵,然后如果遇到矩阵中的值正好等于target,输出true。否则,输出false。 3.代码 public class H240 {public boolean searchMatrix(int[][] matrix, int target) {//1.计算出总的行值,总的列值。int mm…

系统架构设计师:设计模式——行为设计模式

一、行为设计模式 行为模式涉及算法和对象间职责的分配。行为模式不仅描述对象或类的模式,还描述它们之间的通信模式。这些模式刻画了在运行时难以跟踪的、复杂的控制流。它们将用户的注意力从控制流转移到对象间的联系方式上来。 行为类模式使用继承机制在类间分…

java springboot实现MCP Server SSE

参考: https://juejin.cn/post/7491881721278529570 SpringAI 实现 SSE MCP Server项目 - Auler - 博客园 springboot-MCPserver-JUnit: 使用springboot支持mcp项目搭建,同时有着便捷的单元测试来进行敏捷开发对话即服务:Spring BootMCP让…

LeetCode 热题 100 48. 旋转图像

LeetCode 热题 100 | 48. 旋转图像 大家好,今天我们来解决一道经典的算法题——旋转图像。这道题在LeetCode上被标记为中等难度,要求我们将一个 n n 的二维矩阵(图像)顺时针旋转90度,并且必须原地修改矩阵&#xff0…

嵌入式按键原理、中断过程与中断程序设计(键盘扫描程序)

按键去抖动  通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,电压信号波型如下图。由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动。…

数据结构之哈夫曼树

8.哈夫曼树 8.1 哈夫曼编码 哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种可变字长编码(VLC)方式 这种编码方法完全依据字符出现的概率来构造异字头的平均长度最短的码字, 因此有时也被…

机器学习实操 第一部分 机器学习基础 第5章 支持向量机(SVM)

机器学习实操 第一部分 机器学习基础 第5章 支持向量机(SVM) 内容概要 第5章深入介绍了支持向量机(SVM),这是一种功能强大且应用广泛的机器学习模型。SVM适用于线性或非线性分类、回归以及 novelty detection。本章详…

Webug4.0靶场通关笔记14- 第18关 文件上传之Nginx解析缺陷

目录 第18关 渗透实战 1.打开靶场 2.构造php脚本 3.源码分析 (1)客户端源码 (2)服务的源码 4.Nginx解析法渗透 (1)缺陷原因 (2)缺陷条件 (3)构造脚…

【QT】QT中的网络编程(TCP 和 UDP通信)

QT中的网络编程(TCP 和 UDP通信) 1.tcp1.1 tcp通信1.1.1 相比linux中tcp通信:1.1.2 QT中的tcp通信: 1.2 tcp通信流程1.2.1 服务器流程:1.2.1.1 示例代码1.2.1.2 现象 1.2.2 客户端流程:1.2.2.1 示例代码1.2.2.2 现象: …

架构思维:使用懒加载架构实现高性能读服务

文章目录 一、引言二、读服务的功能性需求三、两大基本设计原则1. 架构尽量不要分层2. 代码尽可能简单 四、实战方案:懒加载架构及其四大挑战五、改进思路六、总结与思考题 一、引言 在任何后台系统设计中,「读多写少」的业务场景占据主流:浏…

永磁同步电机控制算法--基于PI的位置伺服控制

一、原理介绍 永磁同步伺服系统是包含了电流环、速度环和位置环的三环控制系统。 伺服系统通过电流检测电路和光电编码器检测电动机三相绕组电流和转子位置θ,通过坐标变换,计算出转矩电流分量iq和励磁电流分量id。 位置信号指令与实际转子位置信号的差…

linux系统线程实现原理浅析

背景 对进程和线程的理解,之前一直都是凭一些零碎不完整的信息在理解; linux的进程和线程基本上一样,线程是轻量级进程,彼此有关联又独立。 得亏内核支持的好,写用户态程序可以不依赖于实现的理解,只需要…

MySQL连接报错处理:1130-host ... is not allowed to connect to this MySql server

在MySQL安装完成后,很多开发者会遇到这样一个问题: 错误代码 1130:host xxx.xxx.xxx.xxx is not allowed to connect to this MySql server 这个错误通常出现在你尝试通过远程工具(如 Navicat、DBeaver 等)连接 MySQL …

Linux系统之----进程控制

1.进程创建 进程创建部分由于就是fork函数,还有写时拷贝,在上一篇已经讲述过了,这里不在进行赘述,有疑问的读者可以前往上一篇博文《Linux系统--程序地址空间》中阅读! 这里在多说一嘴写时拷贝吧 我们可以对比一下写…

Spring框架的设计目标,设计理念,和核心是什么 ?

Spring框架是一个为简化企业级应用开发而设计的开源框架,它提供了全面的基础设施支持,使得Java应用开发更加简单、快速和可维护。下面我将详细解释Spring框架的设计目标、设计理念以及核心组件。 设计目标 简化Java企业级应用开发:通过提供…

Red Hat6.4环境下搭建DNS服务器

DNS服务器(Domain Name System Server)是互联网中用于将域名(如 www.example.com)解析为IP地址(如 192.0.2.1)的服务器。它是互联网基础设施的重要组成部分,帮助用户通过易于记忆的域名访问网站…