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

news2024/11/20 12:39:47

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.coloradmin.cn/o/1513951.html

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

相关文章

linux系统使用head和tail命令,快速切分json 格式的数据集

文章目录 介绍切分训练集切分测试集 介绍 json格式的数据集,每一行都是一个单独数据单元。 data.json的文件格式如下: {"text": "彭小军认为,国内银行现在走的是台湾的发卡模式,先通过跑马圈地再在圈的地里面选择…

产品实操——设计阶段

一、思维导图: 二、原型图: 1.墨刀:

【代码随想录 | 数组 05】螺旋矩阵 ||

文章目录 5.螺旋矩阵25.1题目5.2思路 5.螺旋矩阵2 5.1题目 59. 螺旋矩阵 II 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例一: 输入:n 3 输出&#xff…

OpenGL-贴纸方案

OpenGL-贴纸方案 普通贴纸(缩放、Z轴旋转、平移) OpenGL环境说明 OpenGL渲染区域使用正交投影换算,正常OpenGL坐标是vertexData,这样的 Matrix.orthoM 进行换算 //顶点坐标(原点为显示区域中心店)private final float[] vertex…

小米公司研发岗的年终奖。。

小米 好的公司有年终且在年前发放,一般的公司有(可能打折的)年终且年后分批发放,不好的公司各有操作。 3 月已来,小米的年终也开始热议起来。 最近,一则「传小米年终打折,14薪能保住吗」冲上热搜…

electron + vtkjs加载模型异常,界面显示类似于图片加载失败的图标

electron vtkjs加载模型显示异常,类似于图片加载失败的效果,如上图。 electron开发版本:13。 解决方法:升级electron版本号。 注意:win7最高兼容electron 22版本。

华为机考:HJ3 明明的随机数

华为机考&#xff1a;HJ3 明明的随机数 描述 代码 set&#xff0c;插入即排序&#xff0c;而且没有重复数字 #include<iostream> #include<vector> #include<algorithm> using namespace std;int main(){int n;while(cin >> n){ //首先输入每次调查…

Rabbit算法:轻量高效的加密利器

title: Rabbit算法&#xff1a;轻量高效的加密利器 date: 2024/3/13 18:14:31 updated: 2024/3/13 18:14:31 tags: Rabbit算法流密码高安全性高性能密钥调度加密解密抗攻击性 Rabbit算法起源&#xff1a; Rabbit算法是由Martin Boesgaard和Mette Vesterager提出的一种流密码算…

1960-2020年全球双边迁移数据库(Global Bilateral MigrationDatabase)

1960-2020年全球双边迁移数据库&#xff08;Global Bilateral MigrationDatabase&#xff09; 1、时间&#xff1a;1960-2000年&#xff0c;每10年一次具体为&#xff1a;1960年、1970年、1980年、1990年、2000年 2、来源&#xff1a;世界银行 3、指标&#xff1a;Country O…

这款自动引流软件居然能让你的营销效果翻倍提升!

在数字化时代&#xff0c;营销策略的高效执行对企业来说至关重要。自动引流软件作为现代企业营销工具箱中的一员&#xff0c;其重要性不言而喻。这类软件通过智能化、自动化的方式&#xff0c;将潜在客户吸引到企业的销售渠道中&#xff0c;从而为企业带来可观的收益和品牌曝光…

【算法】一类支持向量机OC-SVM(1)

【算法】一类支持向量机OC-SVM 前言一类支持向量机OC-SVM 概念介绍示例编写数据集创建实现一类支持向量机OC-SVM完整的示例输出 前言 由于之前毕设期间主要的工具就是支持向量机&#xff0c;从基础的回归和分类到后来的优化&#xff0c;在接触到支持向量机还有一类支持向量机的…

能发顶会!GNN结合LLMs的三大创新思路!新SOTA准确率提升10倍

LLMs在处理NLP任务方面表现出色&#xff0c;而GNNs在挖掘和分析复杂关系数据&#xff08;图数据&#xff09;方面展现出其卓越的能力。这种趋势催生了将这两种技术整合的研究兴趣&#xff0c;为解决更多领域的实际问题。GNN结合LLMs也逐渐成为了研究的热点。 GNNLLMs可以发挥二…

使用Docker管理linux容器

文章目录 一、使用docker管理镜像 二、使用docker管理容器 一、使用docker管理镜像 1、安装操作系统&#xff0c;我安装的是centOS 7 &#xff0c;因为centos7有着非常丰富的软件仓库&#xff0c;方便后续安装与docker相关的软件。 2、初始化设置&#xff0c; 关闭防火墙 关闭…

有来团队后台项目-解析7

sass 安装 因为在使用vite 创建项目的时候,已经安装了sass,所以不需要安装。 如果要安装,那么就执行 npm i -D sass 创建文件 src 目录下创建文件 目录结构如图所示: reset.scss *, ::before, ::after {box-sizing: border-box;border-color: currentcolor;border-st…

未来已来:科技驱动的教育变革

我们的基础教育数百年来一成不变。学生们齐聚在一个物理空间&#xff0c;听老师现场授课。每节课时长和节奏几乎一致&#xff0c;严格按照课表进行。老师就像“讲台上的圣人”。这种模式千篇一律&#xff0c;并不适用于所有人。学生遇到不懂的问题&#xff0c;只能自己摸索或者…

案例LocalDate ,Map集合,split方法分割,集合、Random随机数、多态、封装

case1&#xff1a; 集合、Random随机数、多态、封装 ShootOddPeople类 package com.zz.examine.case1;import java.util.ArrayList; import java.util.List; import java.util.Random;/****/ public class ShootOddPerson {public static List<People> peoples new Ar…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的零售柜商品检测软件(Python+PySide6界面+训练代码)

摘要&#xff1a;开发高效的零售柜商品识别系统对于智能零售领域的进步至关重要。本文深入介绍了如何运用深度学习技术开发此类系统&#xff0c;并分享了全套实现代码。系统采用了领先的YOLOv8算法&#xff0c;并与YOLOv7、YOLOv6、YOLOv5进行了性能比较&#xff0c;呈现了诸如…

CTP-API开发系列之九:行情登录及订阅代码

CTP-API开发系列之九&#xff1a;行情登录及订阅代码 前情回顾全局配置参数行情初始化代码行情登录行情订阅行情接收注意事项 前情回顾 CTP-API开发系列之一&#xff1a;各版本更新说明&#xff08;持续更新&#xff09; CTP-API开发系列之二&#xff1a;问题汇总&#xff08;…

ONLYOFFICE 文档开发者版,为您的平台带来强大的文档编辑功能

你是否在寻找一个可自主部署、可定制、易集成的文档编辑器解决方案&#xff1f;如果是这样&#xff0c;那么ONLYOFFICE 文档开发者版&#xff0c;也许就是你想要的答案。下面让我们一起来看看它有哪些特点&#xff0c;并能为您带来哪些好处。 什么是 ONLYOFFICE 文档 ONLYOFFI…

06-kafka及异步通知文章上下架-黑马头条

kafka及异步通知文章上下架 1)自媒体文章上下架 需求分析 2)kafka概述 消息中间件对比 特性ActiveMQRabbitMQRocketMQKafka开发语言javaerlangjavascala单机吞吐量万级万级10万级100万级时效性msusmsms级以内可用性高&#xff08;主从&#xff09;高&#xff08;主从&#…