LinuxSCP和SSH命令

news2025/2/25 18:20:21

scp命令

cp命令,是拷贝的作用,可以实现将文件或者目录拷贝到另外一个位置。
scp命令,也是拷贝的作用,但是是远程拷贝,可以实现将文件或者目录拷贝到另外的一台机器上。

命令格式

# scp file 远程用户名@远程服务器:目标路径
# 示例: 
scp ~/data/a.log xiaoxiaoqian@qianfeng02:/home/xiaoxiaoqian/data/           # 将本机的~/data/a.log文件,拷贝到qianfeng02机器上的/home/xiaoxiaoqian/data下
scp ~/data/a.log root@qianfeng02:/root/data/    # 将本机的~/data/a.log文件,拷贝到qianfeng02机器上的/root/data下
# 上述两个拷贝的区别:
# 其实都是拷贝,区别就是使用的用户。在进行拷贝的时候,是需要你输入目标机器的指定用户的密码的。
# 例如: 
# 第一个拷贝,xiaoxiaoqian@qianfeng02,需要验证qianfeng02节点上的xiaoxiaoqian的密码。
# 第二个拷贝,root@qianfeng02,需要验证qianfeng02节点上的root的密码。

# 如果需要拷贝文件夹,添加-r
scp -r /usr/local/jdk root@qianfeng02:/usr/local/     # 将本机的/usr/local/jdk目录,拷贝到qianfeng02的/usr/local下
复制代码

小技巧

# 1. 如果远程的用户,与本机的用户名相同,可以省略目标的用户名
#    示例: 本机登录的用户是root,远程的qianfeng02的用户也是root,因此可以省略
scp ~/a.log root@qianfeng02:/root/data/     # 拷贝给qianfeng02的root用户
scp ~/a.log qianfeng02:/root/data                   # root用户省略,直接写qianfeng02即可

# 2. 如果需要拷贝到远程服务器与本机相同的路径,可以使用$PWD
#    示例:
[root@qianfeng01 local]# pwd
/usr/local/
[root@qianfeng01 local]# scp -r jdk qianfeng02:/usr/local/      # 需要远程拷贝给qianfeng02的/usr/local目录,而本机当前也在这个路径下,因此可以简写
[root@qianfeng01 local]# scp -r jdk qianfeng02:$PWD                     # 用$PWD表示当前的工作路径
复制代码

文末扫码领取大数据学习礼包!

ssh免密登录

ssh的简介

ssh: 是一个远程登录的命令,可以远程登录到指定的虚拟机。
其实,我们使用的远程连接工具,就是使用ssh实现的。

ssh在进行远程登录的时候,需要进行身份验证,输入远程登录用户的密码。
例如:
ssh root@qianfeng02 # 需要输入qianfeng02节点的root密码
ssh qianfeng02 # 当远程登录的用户名,与当前的用户名相同的时候,远程用户名可以省略
在我们后续的使用中,集群的节点之间需要频繁的进行通信,因此免密登录是必须要配置的。
如果不配置免密登录,则在很多时候集群通信的时候,需要输入密码。这就需要人工维护,成本很高,而且很麻烦。

免密登录的原理

  1. qianfeng01使用ssh-keygen -t rsa生成公钥和私钥。
  2. ssh-copy-id qianfeng02,将公钥拷贝到qianfeng02上,实际就是把公钥的内容追加到authorized_keys文件中。
  3. 请求时: qianfeng01向qianfeng02发送连接请求时,附带主机、IP地址等信息。
  4. qianfeng02收到请求后,去授权文件(authorized_keys)中查找qianfeng01的公钥,找到之后,随机生成一个字符串,并使用公钥加密,发送给qianfeng01。
  5. qianfeng01收到密文后,用私钥解密,并把解密的结果返回给qianfeng02。
  6. qianfeng02拿到解密结果之后,与之前的字符串进行比较,如果相同,则可以登录成功。

ssh-login

免密登录的实现

我们最终的目标是实现qianfeng01免密登录到qianfeng02,即在qianfeng01上远程登录qianfeng02不需要密码。
复制代码
  1. 在qianfeng01上生成一对钥匙,分为公钥和私钥

  2. 当前用户的家目录下的.ssh目录中,会生成两个文件

  3. 将公钥拷贝给要免密登录的机器

    最终要实现的是将id_rsa.pub,即公钥中的数据,添加到目标机器的authornized_keys文件中。你可以使用scp将公钥远程拷贝到目标机器,然后添加到目标文件末尾。但是麻烦。
    可以使用更简单的方式: ssh-copy-id 
    
    1. 如果没有这个命令,可以自己安装
       [root@qianfeng01 ~]# yum install openssh-clients -y
       
    2. 将公钥拷贝到目标机器
       [root@qianfeng01 ~]# ssh-copy-id qianfeng02
       
    3. 输入密码,完成拷贝
    复制代码

  4. 拷贝完成后,会在要免密登录的机器上生成授权密码文件

  5. 免密登录是单向的

    免密登录是单向的,即qianfeng01可以免密登录qianfeng02,但是qianfeng02登录qianfeng01还需要密码。
    因此,按照上述的步骤,自己实现qianfeng01、qianfeng02、qianfeng03之间彼此免密和自身也要免密。
    

 更多大数据相关精彩内容欢迎B站搜索“千锋教育” 

【千锋教育】大数据开发全套教程,史上最全面的大数据学习视频

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

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

相关文章

Midjourney竞品Leap免费试用; Google 刚刚发布10门独立AI课程

🦉 AI新闻 🚀 Midjourney竞品,免费试玩AI图片生成工具Leap,细节还需提升 摘要:Leap是一款免费试玩的AI图片生成工具,用户可以选择不同的生成模型和步长及数量。功能上尚需提高细节把握能力,但…

【genius_platform软件平台开发】第九十七讲:linux设备驱动中信号(signal函数)的异步通知机制

1. 信号的异步通知 意思是:一旦设备就绪,则主动通知应用程序,这样应用程序根本就不需要查询设备状态,这一点非常类似于硬件上“中断”的概念,比较准确的称谓是“信号驱动的异步I/O”。信号是在软件层次上对中断机制的一种模拟,在…

创新升级!深度学习算法注入机器视觉应用,助力工业领域智慧生产

随着人工智能在算力、算法、大数据等方面的技术突破,基于神经网络的深度学习算法在各行各业加速渗透。而制造业作为AI融合创新的主要场景之一,在机器视觉技术的加持下,持续赋能生产线的自动化、智能化升级,赋予工业生产“感知”能…

【Java se】为什么大部分小数在计算机中是不精确的

目录 一、什么是小数 二、浮点数在计算机中的转换规则 (1)整数部分转换步骤 (2) 小数部分转换步骤 三、使用代码说明 四、手动转换小数 一、什么是小数 在计算机中,也称小数为浮点数,因为在使用科学计…

程序员的炫技代码写法

程序员的炫技代码写法 程序员,这个职业总是让人感到神秘而又充满魅力。他们手中的代码常常充满了令人惊叹的炫技操作,让人不禁感叹他们的技术能力之高。在这篇博客中,我想和大家分享一些我所知道的程序员的炫技代码写法。 一、代码美感——…

什么是死锁?互斥锁进入死锁怎么解决?

1.死锁是什么? (1)死锁是一组相互竞争资源的线程因为他们之间得到互相等待导致“永久“阻塞的现象; (你等我 我等你 你不放我也不放 就导致“永久“阻塞的现象) (2)死锁是指两个或…

mysql索引possible_keys,key问题。

explain中有两个字段possible_keys,key。 possible_keys:表示可能用到的索引。 key:实际使用到的索引。 为什么会有单独的两列? 你的where条件中如果使用到了索引列字段,那么possible_keys会列出索引字段对应的索引…

【区块链】科普:零知识证明、ZKRollup 与 zkEVM

译者语:2023 年将迎来 zkEVM 大发展,让我们看看有哪些项目在进行 zkEVM 的研究,zkEVM 可以做什么 原文链接: https://blog.pontem.network/zk-proofs-301-zksync-other-zkevm-b28641dc8565这篇文章让我们解释一下zkEVM是如何工作的,为什么它们是如此重要的创新。 长话短说…

基于html+css的图展示113

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

云下自建Grafana获取阿里云监控数据

前言 官方文档,我看了要付费的 https://help.aliyun.com/document_detail/313316.html?spma2c4g.217924.0.i2 grafana:8.3.5 插件名称:aliyun-cms-services grafana安装: https://blog.csdn.net/qq_44379042/article/details/121852310 …

Activiti 工作流 学习笔记

环境信息: IntelliJ IDEA 2021.3.3 (Ultimate Edition) JDK 1.8 Activiti 7 文章目录 Activiti 7一、了解工作流1.1 什么是工作流1.2 工作流引擎1.3 常见的工作流引擎1.4 Activiti 概述1.4.1 Activiti介绍1.4.2 建模语言BPMN1.4.3 Activiti使用流程1.4.4 流程设计工具1.4.5 下载…

全排列II

1题目 给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。 示例 1: 输入:nums [1,1,2] 输出: [[1,1,2],[1,2,1],[2,1,1]]示例 2: 输入:nums [1,2,3] 输出:[[1,2,3],…

OpenGauss MOT 实现技术研究

目录 一、概述 二、技术细节和OpenGauss中的实现 1、内存表在内存中的组织 2、事务并发控制算法 3、检查点算法 这篇文档写于2022年6月份,今天打算发到网上,重读时发现可能opengauss mot现在的代码已经有所改变,文中有些代码分支可能已经…

高效远程控制另一台电脑的3种方法,提升工作效率!

如何从我的电脑控制另一台电脑? “我妈妈的电脑出了问题,我需要帮她修理下,但是我不能亲自去进行故障排除。我应该如何从我的电脑远程控制另一台电脑,并提供远程支持?” 如何远程控制另一台电脑?&a…

基于SpringBoot+Vue的学生综合测评系统设计与实现

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架下…

http缓存详解

为什么要缓存 通过http协议在客户端和服务端建立连接需要消耗时间,重复访问同一个资源,增加访问服务器数据资源的成本,因此,利用浏览器的缓存机制重用以前获取的数据来优化性能 1、 减少了网络延迟,加快了页面响应速度…

分析全志Tina打包流程,并在buildroot上来实现打包生成tina镜像,支持PhoenixSuit烧写

本文转载自全志在线:https://bbs.aw-ol.com/topic/1532/ 步骤简述 首先记录下官方 tina-sdk 打包的log输出。 bookvirtual-machine:~/D1s-Core/tina-d1-h$ pack ---- PACK_CHIP sun20iw1p1 PACK_PLATFORM tina PACK_BOARD d1-h-nezha PACK_KE…

Vue.js 中的指令和组件详解

Vue.js 中的指令和组件详解 在 Vue.js 中,指令和组件是两个非常重要的概念,它们都可以用来扩展 Vue.js 的功能,但它们之间有一些不同之处。本文将对 Vue.js 中的指令和组件进行详细的介绍,并附上相关的代码示例。 指令 在 Vue.j…

华为OD机试真题 Java 实现【找最小数】【2023 B卷 100分】,附详细解题思路

一、题目描述 给一个正整数num1,计算出新正整数num2,num2为num1中移除N位数字后的结果,需要使得num2的值最小。 二、输入描述 输入的第一行为一个字符串,字符串由0~9字符组成,记录正整数num1,num1的长度…

2.1 网络io、io多路复用select/poll/epoll、基于事件驱动的reactor

目录 一、网络IO请求二、一请求一线程三、IO多路复用——select的通俗理解1、select函数2、accpet函数3、recv函数 四、IO多路复用——poll五、IO多路复用——epoll1、epoll_create2、epoll_ctl3、epoll_wait4、epoll_event5、边缘触发和水平触发) 五、区别对比1、s…