SSH跨操作系统免密文件传输

devtools/2024/9/22 10:46:46/

目录

一、Windows如何通过SSH向Linux系统传输文件

1.1. 安装SSH客户端:

1.2. 配置WinSCP:

1.3. 传输文件:

1.4. 文件传输免输入密码、RSA公钥设置流程

二、Linux系统之间的文件传输

2.1. 使用scp命令:

2.2. 从远程服务器下载文件到本地:

2.3. 文件传输免输入密码、RSA公钥设置流程

三、Windows与Windows系统之间的文件传输

3.1. 安装PuTTY:

3.2. 使用PSCP命令:

3.3. 从远程Windows系统下载文件到本地:

3.4. 文件传输免输入密码、RSA公钥设置流程

四、安装SSH:从Linux到Windows的旅程

4.1. 在Linux系统上安装SSH:

4.2. 在Windows系统上安装SSH:

4.2.1. 启用OpenSSH客户端:

4.2.2. 启用OpenSSH服务器:

4.2.3. 启动SSH服务:

结语


在信息技术的广阔世界里,SSH(Secure Shell)技术犹如一把万能钥匙,帮助我们在不同操作系统之间传输文件,实现安全、便捷的远程操作。今天,我们将一起踏上SSH的奇妙之旅,详细了解如何通过SSH技术在Windows和Linux系统之间,以及在各自系统内部进行文件传输,并探索如何安装和配置SSH。

一、Windows如何通过SSH向Linux系统传输文件

在Windows与Linux之间传输文件,SSH显得格外强大和可靠。Windows系统可以通过安装第三方软件来实现这一功能。

1.1. 安装SSH客户端:

推荐使用免费的开源工具——WinSCP。这个工具不仅支持SSH,还提供了一个用户友好的图形界面。

1.2. 配置WinSCP:

1.3. 传输文件:

1.4. 文件传输免输入密码、RSA公钥设置流程

(1)windows执行命令ssh-keygen -t rsa
(2)连续回车后,到C:\Users\lenovo/.ssh/目录寻找公钥文件:id_rsa.pub。?
(3)上传文件、授权秘钥文件
            步骤一:上传到linux路径【linux路径/root/.ssh
            步骤二:授权秘钥,将秘钥写入authorized_keys文件【cat id_rsa_test.pub >> /root/.ssh/authorized_keys】
(4)上传到想要连接的服务器。scp -r /opt/dist/* root@IP地址:/opt/dist/
(5)首次上传,会询问,要手动确认yes。

二、Linux系统之间的文件传输

在Linux系统之间传输文件,SSH技术同样简便高效。最常用的工具是scp(secure copy),这是一个基于SSH的文件传输命令。

2.1. 使用scp命令:

假设你想从本地Linux系统传输文件到远程Linux服务器:

方法一:linux to linux
scp /path/to/local/file username@remote_host:/path/to/remote/directory方法二:windows to windows
scp -r D:/ProgramFiles/* username@remote_host:C:/test/test方法三:windows to linux
scp -r C:/dist/* username@remote_host:/opt/dist/

解释:

2.2. 从远程服务器下载文件到本地:

scp username@remote_host:/path/to/remote/file /path/to/local/directory

这两条简单的命令即可实现Linux系统之间的文件传输。

2.3. 文件传输免输入密码、RSA公钥设置流程

(1)windows执行命令ssh-keygen -t rsa
(2)连续回车后,到C:\Users\lenovo/.ssh/目录寻找公钥文件:id_rsa.pub。
(3)上传文件、授权秘钥文件
         步骤一:上传到linux路径【linux路径/root/.ssh
         步骤二:授权秘钥,将秘钥写入authorized_keys文件【cat id_rsa_test_172.pub >> /root/.ssh/authorized_keys】

三、Windows与Windows系统之间的文件传输

在Windows系统之间,SSH传输文件同样有用。使用WinSCPPuTTY的PSCP(PuTTY Secure Copy)工具可以轻松实现这一功能。

3.1. 安装PuTTY:

首先,从PuTTY的官方网站下载并安装PuTTY工具包。

3.2. 使用PSCP命令:

pscp C:\path\to\local\file user@remote_host:C:\path\to\remote\directory

解释:

3.3. 从远程Windows系统下载文件到本地:

pscp user@remote_host:C:\path\to\remote\file C:\path\to\local\directory

这些命令让Windows系统之间的文件传输变得异常简单。

3.4. 文件传输免输入密码、RSA公钥设置流程

(1)windows执行命令ssh-keygen -t rsa。
(2)连续回车后,到C:\Users\lenovo/.ssh/目录寻找RSA公钥文件:id_rsa.pub。
(3)上传文件、授权秘钥文件
        步骤一:上传到windows路径【windows路径C:\Users\Administrator\.ssh\用户名】
        步骤二:授权秘钥【ssh-add C:\Users\Administrator\.ssh\用户名】
(4)WARNING: UNPROTECTED PRIVATE KEY FILE
        去掉文件夹和文件权限即可: id_rsa文件, 属性–>安全–>高级
        参照:https://www.likecs.com/show-204301681.html
      如果是在linux下,chmod 600就搞定了,但这是windows。

(5)上传到想要连接的服务器。scp -r C:/dist/* 系统用户名@IP:C:/dist/
(6)首次上传,会询问,要手动确认yes。

四、安装SSH:从Linux到Windows的旅程

4.1. 在Linux系统上安装SSH:

大多数Linux发行版都预装了SSH服务器。如果没有,可以通过以下命令安装:

sudo apt update
sudo apt install openssh-server

安装完成后,可以通过以下命令启动SSH服务:

sudo systemctl start ssh

4.2. 在Windows系统上安装SSH:

Windows 10及以上版本自带OpenSSH客户端和服务器,但默认未启用。以下是启用步骤:

4.2.1. 启用OpenSSH客户端:

4.2.2. 启用OpenSSH服务器:

4.2.3. 启动SSH服务:

  • 在“服务”应用中,找到“OpenSSH SSH Server”服务。
  • 右键选择“启动”。
  • 为了每次启动Windows自动启动SSH服务器,可以右键选择“属性”,将启动类型设置为“自动”。

结语

通过这次SSH的奇妙之旅,我们学会了如何在不同操作系统之间进行文件传输,也掌握了如何安装和配置SSH。无论是在Windows和Linux之间,还是在各自系统内部,SSH都为我们提供了安全、高效的解决方案。希望这篇文章能让你对SSH技术有更深入的了解,并在实际工作中得心应手地使用它。享受SSH带来的便捷吧!


http://www.ppmy.cn/devtools/85090.html

相关文章

【Git多人协作开发】不同的分支下的多人协作开发模式

目录 0.前言背景 1.开发者1☞完成准备工作&协作开发 1.1查看分支情况 1.2创建本地分支feature-1 1.3三板斧 1.4push推本地分支feature-1到远程仓库 2.开发者2☞完成准备工作&协作开发 2.1创建本地分支feature-2 2.2三板斧 2.2push推送本地feature-2到远程仓库…

pytorch中的面向对象编程方法

一、__xxx__形式的魔法方法 我们可以经常在python代码片段中看到类的定义,其中第一个被定义的方法往往是__init__,如下所示: class Accumulator: """在n个变量上累加"""def __init__(self, n):self.data […

PHP压缩打包,下载目录或者文件,解压zip文件

函数 /*** 压缩整个文件夹为zip文件* 本地需要绝对路径,服务器需要相对路径*/function makeZipFile($zip_path , $folder_path ) {$rootPath realpath($folder_path);$zip new ZipArchive(); // $zip->open($zip_path, ZipArchive::CREATE | ZipArchi…

Spring Bean - xml 配置文件创建对象

类型&#xff1a; 1、值类型 2、null &#xff08;标签&#xff09; 3、特殊符号 &#xff08;< -> < &#xff09; 4、CDATA <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/bea…

go-kratos 学习笔记(5) 删除hellword从新生成服务

go-kratos 删除hellword模版里的服务&#xff0c;从新生成服务users 直接删除api/helloword 目录&#xff0c;在api目录下新建 users目录&#xff1b;使用命令生成新的proto #项目根目录执行 kratos proto add api/users/user.protobuf generate生成的user.proto需要根据自己…

Laravel:揭秘PHP世界中最优雅的艺术品

1. 引言 在PHP的世界里&#xff0c;框架如繁星般璀璨&#xff0c;但Laravel以其独特的魅力和优雅&#xff0c;成为了众多开发者心中的艺术品。本文将深入探讨Laravel为何能在众多PHP框架中脱颖而出&#xff0c;成为最优雅的选择。 1.1 Laravel的诞生背景 Laravel的诞生可以…

2024秋招算法

文章目录 参考资料刷题感悟一 数组1.1 二分查找1.2 移除元素1.3 长度最小的子数组1.4 螺旋矩阵1.5 在排序数组中查找元素的第一个和最后一个位置 二 链表2.1 移除链表元素2.2 设计链表2.3 反转链表2.4 两两交换链表中的节点2.5 删除链表的倒数第N个节点2.6 链表相交2.7 环形链表…

HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 多选题序号4

基础认证题库请移步&#xff1a;HarmonyOS应用开发者基础认证题库 注&#xff1a;有读者反馈&#xff0c;题库的代码块比较多&#xff0c;打开文章时会卡死。所以笔者将题库拆分&#xff0c;单选题20个为一组&#xff0c;多选题10个为一组&#xff0c;题库目录如下&#xff0c;…