SSH命令

news2025/1/13 19:48:58

概念

安全外壳协议(Secure Shell Protocol,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。SSH通过在网络中建立安全隧道(secure channel)来实现SSH客户端与服务器之间的连接。SSH最常见的用途是远程登录系统,人们通常利用SSH来传输命令行界面和远程执行命令

SSH 登录

基本使用方式

远程登录服务器:

ssh user@hostname
  • user:用户名
  • hostname:ip地址 或者是 域名

第一次登录时会提示:

The authenticity of host '123.57.47.211 (123.57.47.211)' can't be established.
ECDSA key fingerprint is SHA256:iy237yysfCe013/l+kpDGfEG9xxHxm0dnxnAbJTPpG8.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

此时再输入 yes,回车。

服务器的信息就会被记录在本地的 ~/.ssh/known_hosts文件之中。

接着再输入密码,就可以登录到服务器上了。

在这里插入图片描述

默认登陆端口是 22。如果想指定端口号,需要在登录命令后面加上 -p和 指定端口号。

例如:

ssh user@hostname -p 22

配置文件

在登录的时候,直接用 ip地址是不方便我们记忆的。

我们可以创建一个配置文件 ~/.ssh/config,里面记录的是 别名ip地址的映射。(如图哈希表一样)

这时我们就可以使用别名来登录了。

Host myserver1
    HostName IP地址或域名
    User 用户名

Host myserver2
    HostName IP地址或域名
    User 用户名

后面要登录服务器时,可以直接使用别名 myserver1myserver2

在这里插入图片描述
使用别名 myserver登录,在输入密码即可。

在这里插入图片描述

密钥登陆

别名登录虽然相比最开始的登录方式,减少了一些工作量。但是当要管理的服务器数量比较多的情况下,每一次登录一个服务器都要输入密码,非常繁琐。

所以,我们可以配置密钥登录,实现免密登录,去除了输密码的繁琐工作。

首先创建密钥:

ssh-keygen

然后按三次回车键即可。

执行结束后,~/.ssh/目录下会多两个文件:

  • id_rsa:私钥
  • id_rsa.pub:公钥

之后想免密码登录哪个服务器,就将公钥传给哪个服务器即可。

例如,想免密登录myserver服务器。则将公钥中的内容,复制到myserver中的~/.ssh/authorized_keys文件里即可。

生成密钥:

在这里插入图片描述
在这里插入图片描述

接着将公钥 id_rsa.pub的内容复制到服务器上的 ~/.ssh/authorized_keys文件中(自己创建)。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
粘贴好之后,保存退出即可。

再登录的时候,除了第一次需要密码,后面登录就都不需要密码了。

如果觉得上面的复制公钥的操作比较麻烦,也可以使用一键添加公钥的命令:

ssh-copy-id myserver

执行命令

命令格式:

ssh user@hostname command

以下的命令都是在服务器上执行的。

例如:

ssh user@hostname ls -a

在这里插入图片描述

# 单引号中的$i可以求值
ssh myserver 'for ((i = 0; i < 10; i ++ )) do echo $i; done'

在这里插入图片描述

# 单引号中的$i可以求值
ssh myserver 'for ((i = 0; i < 10; i ++ )) do echo $i; done'

在这里插入图片描述

scp 传文件

基本使用方式

命令格式:

scp source destination

source路径下的文件复制到destination中。

一次复制多个文件:

scp source1 source2 source3 destination

复制文件夹:

# 将本地 家目录下的 tmp文件加 复制到 服务器/home/acs/路径下
scp -r ~/tmp myserver:/home/acs/
# 将本地家目录中的tmp文件夹复制到myserver服务器中的 ~/homework/ 目录下(:后面没写根路径,默认就是家目录下)
scp -r ~/tmp myserver:homework/
将myserver服务器中的 ~/homework/文件夹 复制到 本地的当前路径下。
scp -r myserver:homework .

复制的时候指定服务器的端口号:

scp -P 22 source1 source2 source3  destination

注意: scp-r -P等参数尽量加在sourcedestination之前。

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

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

相关文章

结构体的内存对齐与位段的实现

本篇文章重点介绍结构体相关知识以及深入介绍的结构体的内存对齐与位段的实现 ———————————— 内存对齐位段——————————————————一.结构体1.结构体类型的声明1.1基础知识1.2声明1.3特殊声明1.4结构体的自引用1.5结构体变量的定义和初始化与访问2.结…

C 语言零基础入门教程(八)

C 判断 判断结构要求程序员指定一个或多个要评估或测试的条件&#xff0c;以及条件为真时要执行的语句&#xff08;必需的&#xff09;和条件为假时要执行的语句&#xff08;可选的&#xff09;。 C 语言把任何非零和非空的值假定为 true&#xff0c;把零或 null 假定为 false…

JVM快速入门学习笔记(四)

15.GC &#xff1a;垃圾回收机制 垃圾回收的区域只有在堆里面&#xff08;方法区在堆里面&#xff09; 15.1 垃圾回收 GC JVM 在进行垃圾回收&#xff08;GC&#xff09;时&#xff0c;并不是堆这三个区域统一回收。大部分时候&#xff0c;回收都是新生代~   1.新生代   …

Opencv项目实战:19 手势控制鼠标

目录 0、项目介绍 1、效果展示 2、项目搭建 3、项目代码展示 HandTrackingModule.py VirtualMouse.py 4、项目资源 5、项目总结 0、项目介绍 在Opencv项目实战&#xff1a;15 手势缩放图片中&#xff0c;我们搭建了HandTrackingModule模块&#xff0c;但在这里你还得用…

离散数学与组合数学-04图论上

文章目录离散数学与组合数学-04图论上4.1 图的引入4.1.1 图的示例4.1.2 无序对和无序积4.1.3 图的定义4.2 图的表示4.2.1 集合表示和图形表示4.2.2 矩阵表示法4.2.3 邻接点与邻接边4.3 图的分类4.3.1 按边的方向分类4.3.2 按平行边分类4.3.3 按权值分类4.3.4 综合分类方法4.4 图…

MySQL —— 表操作

目录 一、创建表 二、创建表的案例 三、查看表的结构 四、修改表 五、删除表 一、创建表 语法&#xff1a; CREATE TABLE [IF NOT EXISTS] table_name(field1 datatype1 [COMMENT 注释信息],field2 datatype2 [COMMENT 注释信息],field3 datatype3 [COMMENT 注释信息] )…

通信原理简明教程 | 模拟信号的数字化传输

文章目录1 抽样及抽样定理1.1 抽样1.2 抽样定理2 量化及量化信噪比2.1 均匀量化2.2 量化误差和量化信噪比2.3 非均匀量化3 编 码3.1常用的二进制码组3.2 均匀量化编码方法3.3 A律13折线编码4 脉冲编码调制系统4.1 PCM系统的码元速率4.2 PCM系统的抗噪声性能5 预测编码5.1 差分脉…

【Kotlin】扩展函数 ③ ( 定义扩展文件 | 重命名扩展函数 | Kotlin 标准库扩展函数 )

文章目录一、定义扩展文件二、重命名扩展函数三、Kotlin 标准库扩展函数一、定义扩展文件 如果定义的 扩展函数 需要在 多个 Kotlin 代码文件 中使用 , 则需要在 单独的 Kotlin 文件 中定义 , 该文件被称为 扩展文件 ; 定义 标准库函数 的 Standard.kt 就是 独立的 扩展文件 ;…

IDEA搭建Finchley.SR2版本的SpringCloud父子基础项目-------Feign负载均衡

1.概述 官网&#xff1a;http://projects.spring.io/spring-cloud/spring-cloud.html#spring-cloud-feign Feign是一个声明式WebService客户端。使用Feign能让编写Web Service客户端更加简单, 它的使用方法是定义一个接口&#xff0c;然后在上面添加注解&#xff0c;同时也支…

[Linux]进程地址空间

&#x1f941;作者&#xff1a; 华丞臧. &#x1f4d5;​​​​专栏&#xff1a;【LINUX】 各位读者老爷如果觉得博主写的不错&#xff0c;请诸位多多支持(点赞收藏关注)。如果有错误的地方&#xff0c;欢迎在评论区指出。 推荐一款刷题网站 &#x1f449; LeetCode刷题网站 文…

谁你的财神 谁是你的穷神

送穷神&#xff0c;迎灶神&#xff0c;下午提前准备迎接财神 我们说一个人穷&#xff0c;揭不开锅了&#xff0c;只能喝凉水了&#xff0c;到后来只能喝西北风 谁是我们的财神&#xff0c;信任我们的人&#xff0c;帮助我们的人&#xff0c;感谢过往贵人的资助 但是信任是不对…

【数据结构】算法复杂度

文章目录引入算法复杂度一.时间复杂度定义大O渐进表示法经典例题常量字符串二分查找冒泡排序递归1.阶乘2.斐波切纳数列二.空间复杂度定义经典例题冒泡排序递归1.阶乘2.斐波切纳数列引入 为什么要有算法复杂度&#xff1f; 当我们正在解决一个问题的时候&#xff0c;想出了多种思…

【计算机基础】操作系统

前言&#xff1a;本文适合用于基础了解和背诵&#xff0c;尽可能采用流畅且简短的语言回答操作系统相关问题并且辅以图片帮助记忆&#xff0c;不适合用作详细了解与深入学习 。 总述 操作系统部分主要分为以下几个重点 —— 操作系统基础 、 进程和线程、操作系统的内存管理、…

JAVA基础知识07常用API

目录 1. 常用API 1.1 简介 1.2 String类 1.2.1 字符串在开发中的应用场景 1.2.2 String 类的特点 1.2.3 String 类的常见构造方法 1.2.4 String 类的常见面试题 1.2.5 面试题题解 1.2.6 String 类用于比较的方法 1.2.7 String 字符串的遍历 1.2.8 String 字符串的截取…

QByteArray字节流和二进制与字符的关系以及tohex() toLatin1

QByteArray 存储的是字节&#xff0c;二进制形式&#xff0c;即ascii码的二进制编码。输出的时候&#xff0c;会输出二进制对应的字符 即一个映射: 二进制到ascii码的映射而.tohex()会将二进制转化为16进制字符&#xff0c;这里的16进制字符又是作为值域了&#xff0c;实际存…

JavaEE-文件和IO(二)

目录2.2 文件内容相关的操作三、文件操作案例3.1 案例一3.2 案例二3.3 案例三2.2 文件内容相关的操作 打开文件读文件写文件关闭文件 针对文件内容的读写&#xff0c;java标准库提供了一组类~ 首先按照文件的内容&#xff0c;分为两个系列 字节流对象&#xff0c;针对二进制…

手把手教你写web全栈入门项目—React+Koa+MongoDB(3w字教程,真的很详细,有代码)

手把手教你写web全栈入门项目—ReactKoaMongoDB 文章目录手把手教你写web全栈入门项目—ReactKoaMongoDB前言一、推荐基础二、所需环境三、软件四、项目源码五、文章结构六、遇到问题怎么办前端一、页面登录页首页二、目录结构三、技术选择四、开始项目1、页面组件1.1 目录1.2 …

JavaScript 所见所得文本编辑器 Froala Editor 4.0.17Crack

Froala Editor v4.0.17 清除格式工具现在可以从粘贴的内容中删除内联样式。 2023 年 1 月 24 日 - 9:07新版本 特征 清除格式工具现在可以从粘贴的内容中删除内联样式。 改进的“删除时保留格式”功能可保留已删除文本的格式并将其应用于替换文本。 选择图像时&#xff0c;用于…

day20|77. 组合。回溯的开始

回溯思路 void backtracking(参数) {if (终止条件) {存放结果;return;}for (选择&#xff1a;本层集合中元素&#xff08;树中节点孩子的数量就是集合的大小&#xff09;) {处理节点;backtracking(路径&#xff0c;选择列表); // 递归回溯&#xff0c;撤销处理结果} } 77. 组合…

91.使用注意力机制的seq2seq以及代码实现

1. 动机 2. 加入注意力 key和value是一样的 假设英语句子长为3的话&#xff0c;就会有3个key-value pair&#xff0c;key和vlaue是一个东西&#xff0c;每一个key-value pair对应第i个词的RNN的输出。之前的seq2seq只使用了最后的key-value&#xff0c;现在则是把所有的key-val…