Linux 配置ssh、scp、sftp免密登录

SSH(Secure Shell)是一种安全的远程登录协议,它使用客户端-服务器架构促进2个系统之间的安全通信,并允许用户远程登录服务器。在某些高可用环境下,服务器之间可能还需要配置免密互信,即基于密钥验证登录。

目录

  • 一、SSH简介
    • 1.1 使用ssh登录
    • 1.2 使用scp传输文件
    • 1.3 使用sftp传输文件
  • 二、使用基于密钥的身份验证(免密登录)
    • 2.1 生成密钥对
    • 2.2 将公钥复制到远程服务器

一、SSH简介

SSH协议会通过加密技术进行身份验证,并在传输层构建多个安全通道,提供安全的数据传输服务,常用基于SSH协议的工具有远程登录工具ssh,远程拷贝工具scp,安全文件传输工具sftp。

1.1 使用ssh登录

使用ssh可以使用加密连接登录到远程服务器,使用ssh user@host格式命令登录,输入密码后即登录成功(返回远程服务器的shell提示符):

ssh vincent@172.16.1.38

在这里插入图片描述

ssh还可以直接在远程服务器上运行命令而不登录,在ssh user@host后直接跟上需要执行的命令:

ssh vincent@172.16.1.38 ls -l

在这里插入图片描述

1.2 使用scp传输文件

scp使用加密的连接在计算机之间传输文件,可以将本地文件拷贝到远程服务器,或将远程文件拷贝到本地,命令格式为:

scp localfile user@host:remotefile
scp user@host:remotefile localfile

示例:将本地/root/1.txt拷贝到远程的/home/vincent目录下,并改名为2.txt:

scp /root/1.txt vincent@172.16.1.38:/home/vincent/2.txt

在这里插入图片描述

示例:将远程/home/vincent/2.txt文件拷贝到本地当前目录(.代表当前目录):

scp vincent@172.16.1.38:/home/vincent/2.txt .

在这里插入图片描述

1.3 使用sftp传输文件

sftp和普通的ftp协议类似,但是它使用了加密连接,更加安全,要连接到服务器使用sftp user@host格式的命名(输入密码后登录):

sftp vincent@172.16.1.38

在这里插入图片描述

sftp常用命令:

命令功能
ls [directory]列出远程目录的内容。如果没有提供目录,则使用当前目录
cd directory将远程工作目录更改为directory
mkdir directory创建远程目录
rmdir directory删除远程目录
put localfile [remotefile]将 localfile 传输到远程计算机
get remotefile [localfile]从远程计算机传输 remotefile

二、使用基于密钥的身份验证(免密登录)

通过基于密钥的身份验证,可以让客户端连接服务器时不再输入密码。其原理是通过非对称加密算法进行身份认证,客户端生成密钥对后,将公钥传给远程服务器(私钥自己保留)。

2.1 生成密钥对

第一步通过ssh-keygen命令生成基于SSH协议版本2的RSA密钥对,遇到输入提示,保持默认一直回车即可:

ssh-keygen -t rsa

在这里插入图片描述

命令会在用户的$HOME/.ssh/下生成2个文件,其中id_rsa为私钥,id_rsa.pub为公钥:
在这里插入图片描述

2.2 将公钥复制到远程服务器

接下来使用ssh-copy-id user@host命令将公钥传输给服务器,如果是首次连接服务器会有类似如下提示,这是一个服务器指纹验证,用于验证服务器的真实性:

ssh-copy-id vincent@172.16.1.38

在这里插入图片描述

输入yes后,会再次提示输入要连接的用户密码:
在这里插入图片描述

输入密码后,会提示公钥添加成功,公钥的内容会保存在服务器的~/.ssh/autorized_keys文件中,如果该文件已存在,则会附加在文件尾部。当客户端连接到服务器时,服务器通过检查存储在此文件中的签名公钥来验证客户端的身份验证(不再提示输入密码)。
在这里插入图片描述

完成上述配置后,ssh,scp,sftp都不再需要输入密码就可以使用了:

ssh vincent@172.16.1.38

在这里插入图片描述

scp 1.txt vincent@172.16.1.38:/home/vincent

在这里插入图片描述

sftp vincent@172.16.1.38

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue3 + antd二次封装a-table组件

前置条件 vue版本 v3.3.11 ant-design-vue版本 v4.1.1 内容梗概 二次封装a-table组件,大大提高工作效率和降低项目维护成本; 先看效果图 代码区域 utils.js文件 // 用于模拟接口请求 export const getRemoteTableData (data [], time 1000) >…

STM32第八节:位带操作——GPIO输出和输入

前言 我们讲了GPIO的输出,虽然我们使用的是固件库编程,但是最底层的操作是什么呢?对,我们学习过51单片机的同学肯定学习过 sbit 修改某一位的高低电平,从而实现对于硬件的控制。那么我们现在在STM32中有没有相似的操作…

【数据结构】Set的使用

文章目录 一、Set的使用1.Set的常用方法&#xff1a;1.boolean add(E e)2.void clear()3.boolean contains(Object o)4.boolean remove(Object o)5.int size()6.boolean isEmpty()7.Object[] toArray()8.boolean containsAll(Collection<?> c)9.boolean addAll(Collecti…

学习Vue(1)环境搭建与运行一个vue项目

下载node.js 下载地址&#xff1a;下载 | Node.js 中文网 安装 双击下载好的安装文件&#xff0c;选择安装路径即可。 安装完成&#xff0c;输入命令&#xff1a;nodel -v&#xff0c;查看版本&#xff0c;正常显示版本即安装成功。 自定义全局安装路径和缓存路径&#xff0…

SpringCloud-深度理解ElasticSearch

一、Elasticsearch概述 1、Elasticsearch介绍 Elasticsearch&#xff08;简称ES&#xff09;是一个开源的分布式搜索和分析引擎&#xff0c;构建在Apache Lucene基础上。它提供了一个强大而灵活的工具&#xff0c;用于全文搜索、结构化搜索、分析以及数据可视化。ES最初设计用…

用Origin快速拟合荧光寿命、PL Decay (TRPL)数据分析处理

需要准备材料&#xff1a;Origin、PL Decay数据txt文件 首先打开Origin画图软件 导入数据&#xff0c;按照下图箭头操作直接导入 双击你要导入的PL Decay的txt数据文件&#xff0c;然后点OK 继续点OK 数据导入后首先删除最大光子数之前的无效数据&#xff0c;分析的时候用…

每天五分钟计算机视觉:图像数据不足带来的问题和解决办法

本文重点 在当今的数字时代,图像数据的应用已经渗透到各个领域,包括但不限于计算机视觉、机器学习、自动驾驶、医疗诊断等。然而,当图像数据不足时,会引发一系列问题,对相关应用产生负面影响。 尤其是计算机视觉领域,图像数据尤为珍贵和稀缺,如果计算机视觉的任务中,如…

政务云安全风险分析与解决思路探讨

1.1概述 为了掌握某市政务网站的网络安全整体情况&#xff0c;在相关监管机构授权后&#xff0c;我们组织人员抽取了某市78个政务网站进行安全扫描&#xff0c;通过安全扫描&#xff0c;对该市政务网站的整体安全情况进行预估。 1.2工具扫描结果 本次利用漏洞扫描服务VSS共扫…

基于Spring Boot的疗养院管理系统的设计与实现

传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装疗养院管理系统软件来发挥其高效地信息处理的作用&#xff0c;可以…

使用html+css制作一个发光立方体特效

使用htmlcss制作一个发光立方体特效 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Documen…

【机器学习300问】36、什么是集成学习?

一、什么是集成学习&#xff1f; &#xff08;1&#xff09;它的出现是为了解决什么问题&#xff1f; 提高准确性&#xff1a;单个模型可能对某些数据敏感或者有概念偏见&#xff0c;而集成多个模型可以提高预测的准确性。让模型变稳定&#xff1a;一些模型&#xff0c;如决策…

Css基础——溢出文字省略号表达

1. 单行文本溢出显示省略号&#xff1a; 1.1、方法&#xff1a; 1. 先强制一行内显示文本*/ white-space: nowrap; &#xff08; 默认 normal 自动换行&#xff09; 2. 超出的部分隐藏*/ overflow: hidden; 3. 文字用省略号替代超出的部分*/ text-overflow: ellipsis; 1.2、代…

【他山之石】BlueLM蓝心大模型的落地

note 预训练&#xff1a;我们采用了混合精度训练以及梯度缩放策略&#xff0c;因为这可以减少训练周期&#xff0c;训练周期较少会节省模型训练所需的时间和资源。选择回放训练能够让模型定向学会一类知识信息。Loss 预测确保在训练过程前对损失进行估计&#xff0c;以保证训练…

javaweb day16 mysql

mysql 安装&#xff1a; 企业开发使用方法 安装虚拟机代替服务器 数据模型 创建数据库 写法 sql简介

KNN算法对鸢尾花进行分类:添加网格搜索和交叉验证

优化——添加网格搜索和交叉验证 from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.neighbors import KNeighborsClassifier from sklearn.model_selection imp…

GNN/GCN自己学习

一、图的基本组成 V&#xff1a;点&#xff08;特征&#xff09; E&#xff1a;边 U&#xff1a;图&#xff08;全局特征&#xff09; 二、用途 整合特征&#xff08;embedding)&#xff0c;做重构 三、邻接矩阵 以图像为例&#xff0c;每个像素点周围都有邻居&#xff0c;…

Composer创建ThinkPHP无法获取最新版本的问题

composer安装TP&#xff08;截止目前最新版本为8.0&#xff09; composer create-project topthink/think tp 一开始直接给我安装成TP6了&#xff0c;原因就是我系统的PHP版本不是8.0以上&#xff0c;所以不支持最新的TP版本&#xff0c;就会默认安装之前稳定的版本。解决这个…

说说JVM的垃圾回收机制

简介 垃圾回收机制英文为Garbage Collection, 所以我们常常称之为GC。那么为什么我们需要垃圾回收机制呢&#xff1f;如果大家有了解过Java虚拟机运行时区域的组成(JVM运行时存在&#xff0c;本地方法栈&#xff0c;虚拟机方法栈&#xff0c;程序计数器&#xff0c;堆&#xf…

linux安全--CentOS7安装Tomcat,远程管理ManagerApp

目录 1.Tomcat安装 2.Tomcat远程管理 1.Tomcat安装 下载安装包并解压 tar xf apache-tomcat-7.0.54.tar.gz -C /usr/local/apache-tomcat_7.0.54/tomcat启停 启动 ./startup.sh 停止 ./shutdown.sh 2.Tomcat远程管理 找到tomcat文件夹中webapps/manager/META-INF/contex…

(黑马出品_高级篇_04)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式

&#xff08;黑马出品_高级篇_04&#xff09;SpringCloudRabbitMQDockerRedis搜索分布式 微服务技术——可靠性消息服务 今日目标服务异步通信-高级篇1.消息可靠性1.1.生产者消息确认1.1.1.修改配置1.1.2.定义Return回调1.1.3.定义ConfirmCallbac…
最新文章