ssh登录——scp传文件

news2024/11/24 17:07:46

一、ssh登录

1.基本用法

远程登录服务器:

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。如果想登录某一特定端口:

ssh user@hostname -p 22

2.配置文件

创建文件 ~/.ssh/config #注意文件名只能是config

然后在文件中输入:

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

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

之后再使用服务器时,可以直接使用别名myserver1、myserver2。

3.密钥登录

创建密钥

ssh-keygen

然后一直回车即可。

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

id_rsa:私钥
id_rsa.pub:公钥

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

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

也可以在~目录下直接使用如下命令一键添加公钥:

ssh-copy-id myserver

4.执行命令

#命令格式:

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传文件(本地端和服务器端相互传文件的命令)

命令格式:


#将source路径下的文件复制到destination中
scp source destination

#一次复制多个文件:
scp source1 source2 destination

####复制文件夹:

scp -r ~/tmp myserver:/home/acs/  #-r必须加到前面
#将本地家目录中的tmp文件夹复制到myserver服务器中的/home/acs/目录下。

scp -r ~/tmp myserver:homework/
#将本地家目录中的tmp文件夹复制到myserver服务器中的~/homework/目录下。

scp -r myserver:homework .
#将myserver服务器中的~/homework/文件夹复制到本地的当前路径下。


####指定服务器的端口号:

scp -P 22 source1 source2 destination #22可以改为任何端口号

 使用scp配置其他服务器的vim和tmux

scp ~/.vimrc ~/.tmux.conf myserver:

三、homework

1.homework_0

创建好作业后,先进入文件夹/home/acs/homework/lesson_4/,然后:
(0) 进入homework_0文件夹,要求:
    [1] 该文件夹内容为空
    [2] 配置服务器账号的密钥登陆方式。服务器信息可以通过如下命令获得:
        homework 4 getinfo
        将服务器账号的名称(Host)配置成:myserver
#具体步骤

#在~目录下,进入.ssh/文件
cd .ssh/

#用vim创建一个config文件,文件名只能是config
vim config

#在config文件输入:
Host myserver  #myserver表示以后登录的名称,以后登录该服务器可以直接 ssh myserver
    HostName IP地址或域名
    User 用户名

#然后在~目录下执行命令
ssh-keygen

#然后一直回车即可
#回车完, .ssh文件下会多两个文件 id_rsa id_rsa.pub

#回到~目录下,执行命令
ssh-copy-id myserver

#下面会输入密码 输入正确密码,免密登录就配置完成了

#以后登录到该账号就可以直接 ssh myserver
# Ctrl + d 可以退出该账号

2.homework_1

(1) 进入homework_1文件夹,下列描述中的“本地”均表示当前文件夹。要求:
    [1] 在myserver服务器上创建并清空文件夹:~/homework/lesson_4/homework_1/
    [2] 将本地的main.cpp文件上传到myserver中的~/homework/lesson_4/homework_1/目录中。
    [3] 在本地创建文件夹dir。
    [4] 将myserver中的/etc/lsb-release文件复制到dir中。
#可以开两个窗口,左边本地端,右边myserver端
#在myserver端进行如下命令  -p的意思是如果没有该文件夹,直接创建,并且顺序创建
mkdir homework/lesson_4/homework_1 -p

#在本地端进入homework/lesson_4/homework_1中
scp main.cpp myserver:homework/lesson_4/homework_1

#在本地端创建dir

scp myserver:/etc/lsb-release dir

3.homework_2

(2) 进入homework_2文件夹,下列描述中的“本地”均表示当前文件夹,要求:
    [1] 在myserver服务器上创建并清空文件夹:~/homework/lesson_4/homework_2/
    [2] 将本地的dir文件夹上传到myserver中的~/homework/lesson_4/homework_2/目录中。
#在服务器端创建文件夹
mkdir homework/lesson_4/homework_2 -p #-p可以直接创建文件夹,即使没有该文件夹

#在本地端的homework_4中
scp -r dir myserver:homework/lesson_4/homework_2 # -r必须加前面,-r是传文件夹

4.homework_3

(3) 进入homework_3文件夹,下列描述中的“本地”均表示当前文件夹,要求:
    [1] 在本地创建文件夹dir。
    [2] 将myserver中的/var/lib/locales/supported.d文件夹下载到本地dir文件夹中。
#在homework_3中创建文件夹dir
mkdir dir

#在本地执行scp命令

scp -r myserver:/var/lib/locales/supported.d dir

5.homework_4

(4) 进入homework_4文件夹,编写脚本remote_mkdir.sh和remote_rmdir.sh,要求:
    [1] 在myserver服务器上创建并清空文件夹:~/homework/lesson_4/homework_4/
    [2] 本地目录下仅包含remote_mkdir.sh和remote_rmdir.sh
    [3] remote_mkdir.sh和remote_rmdir.sh具有可执行权限
    [4] remote_mkdir.sh接收一个传入参数。格式为 ./remote_mkdir.sh directory_name
        该操作可以在myserver服务器上的~/homework/lesson_4/homework_4/目录下,创建一个名为directory_name的文件夹
    [5] remote_rmdir.sh接收一个传入传输。格式为 ./remote_rmdir.sh directory_name
        该操作可以将myserver服务器上的~/homework/lesson_4/homework_4/目录下的名为directory_name的文件夹删掉。
    [6] 注意:传入的文件参数可能包含空格。两个脚本均不需要判断传入参数的合法性。

#在服务器端创建文件夹
mkdir homework/lesson_4/homework_4 -p

#在本地端的homework_4 创建vim脚本 并加上可执行权限

vim remote_mkdir.sh 

vim remote_rmdir.sh

chmod +x * #给该文件加下所有脚本全部加上可执行权限

#打开remote_mkdir.sh
#! /bin/bash #相当于头文件

ssh myserver mkdir homework/lesson_4/homework_4/\"$1\" #双引号加转义符是因为第一次执行ssh命令会把该双引号解析,加上就可以告诉机器,第一次执行不要解析

#ssh myserver mkdir ~/homework/lesson_4/homework_4/\"$1\" 该条语句会报错,是因为进入到服务器端看到的文件只有homework ,也就是当前默认在~目录下

#打开remote_rmdir.sh

#! /bin/bash

ssh myserver rm homework/lesson_4/homework_4/\"$1\" -r

#最后一定要退出vim并保存

 上图是因为:当把一个文件夹命名为带空格的名字时,单引号的作用是为了提醒该文件夹名称中间带有空格

 如果想要传入参数时:参数带有空格可以加上双引号

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

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

相关文章

十分钟掌握 “UML ” 的基本使用

十分钟掌握 “UML ” 的基本使用 每博一文案 很喜欢这样一段话&#xff1a;内可以不跟别人计较&#xff0c;但一定要学会维护自己&#xff0c;你可以不跟别人争抢&#xff0c;但应该懂得远离小人。 人生在世&#xff0c;我们会遇到形形色色的人&#xff0c;人心隔肚皮&#xf…

Pytorch深度学习实战——第3章课后习题

1.从list(range(9))list(range(9))list(range(9))中创建一个张量aaa并预测检查其大小、偏移量、步长。 import torch atorch.tensor(list(range(9))) print(a.storage_offset())#偏移量 print(a.stride())#步长 print(a.size())#大小a)使用ba.view(3,3)ba.view(3,3)ba.view(3,…

Aspose.PDF for Java系列3-创建复杂的PDF

创建复杂PDF 上篇文章展示了使用Java和Aspose.PDF简单步骤。本文中&#xff0c;我们将使用Java和Aspose.PDF创建更复杂的文档结构。此示例中&#xff0c;我们将创建包含图片、两个文本片段&#xff08;标题和段落&#xff09;和表格。 创建文档参考以下步骤&#xff1a; 实例…

被房地产坑惨的老板电器,终于要“回血”了!

近期&#xff0c;随着房地产行业重新被定义为“国民经济的支柱产业”&#xff0c;叠加疫情防控转向&#xff0c;笼罩在家电行业上空的阴霾逐渐消散&#xff0c;家电股预期改善&#xff0c;纷纷迎来估值修复。尤其是曾遭房地产暴击的老板电器&#xff0c;有望抓住房地产回暖的窗…

Synchronized

Synchronized前言1.synchronized修饰符和线程控制1.1synchronized修饰符和Object Monitor模式1.2 synchronized修饰符可标注的位置2. 方法2.1 waitwait多态表达式notify()方法和notifyAII()方法interrupt中断信号判断是否收到interrupt中断信号的方法前言 悲观锁在Java中有两种…

Jenkins环境搭建

Jenkins环境搭建 一、Jenkins下载&#xff1a;Jenkins 点击Download&#xff0c;进入新的页面后点击下载Jenkins的war包&#xff0c;如下图&#xff1a; 注意&#xff1a;Jenkins是java语言开发&#xff0c;需要安装JDK并进行环境变量配置&#xff0c;Jenkins可以在Tomcat容器…

java注解(Annotation)和反射(Reflection)

文章目录重要的点一 注解(Annotation)(Annotation)(Annotation)1.1 注解初识1.2 内置注解1.3 内置注解代码演示1.4 元注解(meta−annotation)(meta-annotation)(meta−annotation)1.5 元注解代码演示1.6 自定义注解1.7 自定义注解代码演示二 反射(Reflection)(Reflection)(Refl…

gitlab-ci.yml关键字(三)before_script 、script 、after_script

before_script before_script 用于定义在每个作业执行之前所运行的一系列脚本命令。这里需要注意的是&#xff0c;before_script 运行的时机&#xff0c;是在制品&#xff08;artifacts&#xff09;恢复后&#xff0c;也就意味着&#xff0c;在这个时机中是可以操作制品的。 …

Unity 解决QFramework WebGL报错

Unity 解决QFramework WebGL报错&#x1f95d;错误描述☕原因&#x1f364; 解决方案&#x1f95d;错误描述 在新建工程中只导入了QFramework&#xff0c;Build WebGL(空场景) 会看到如下错误&#xff1a; Exception: Non-Public Constructor() not found! in QFramework.Saf…

点云 3D 目标检测 - SECOND(Sensors 2018)

点云 3D 目标检测 - SECOND&#xff08;Sensors 2018&#xff09;摘要1. 引言2. 相关工作2.1 基于前视图和图像的方法2.2 基于鸟瞰图的方法2.3 基于3D的方法2.4 基于融合的方法3. SECOND检测器3.1 网络架构3.1.1 点云分组3.1.2 Voxelwise特征提取器3.1.3 稀疏卷积中间提取器3.1…

代码模板3---基础算法(双指针算法/位运算/离散化/区间合并)

①双指针算法 一般做题&#xff1a;先用暴力做法&#xff0c;然后去看是否存在某种性质&#xff08;如单调性&#xff0c;维护这个区间的单调性即可&#xff09; AcWing 799. 最长连续不重复子序列 - AcWing AcWing 800. 数组元素的目标和 - AcWing AcWing 2816. 判断子序列 - …

期货交易软件哪个好?为什么选择期货MT4平台软件?

越来越多人选择期货投资&#xff0c;因为期货投资具有高投资高回报的特征。在做期货交易时&#xff0c;很多投资者会发现市场上有各种各样的期货交易软件。如果第一次接触期货交易&#xff0c;难免会不知道选择哪个期货交易软件更好。下面为大家讲讲期货交易软件哪个好&#xf…

centos7安装rabbitmq集群

公司号口项目让运维安装rabbitmq&#xff0c;结果rabbitmq页面state都显示down了&#xff0c;问运维居然说都正常&#xff0c;麻蛋欺负我无知&#xff0c;自己搞一遍试试。 前言 RabbitMQ是一个开源的强大的企业消息系统&#xff0c;支持主流的操作系统&#xff0c;支持多种开…

OpenHarmony#深入浅出学习eTs#(七)判断密码是否正确

本项目Gitee仓地址&#xff1a;深入浅出eTs学习: 带大家深入浅出学习eTs (gitee.com) 一、基本界面 本项目基于#深入浅出学习eTs#&#xff08;四&#xff09;登陆界面UI&#xff0c;继续进行&#xff0c;实现一个判断的功能 二、控件介绍 TextInput 可以输入单行文本并支持…

如果我是核酸系统架构师,我会这么用MQ。。。

V-xin&#xff1a;ruyuan0330 获得600页原创精品文章汇总PDF 目录 一、前情提示二、保证投递消息不丢失的confirm机制三、confirm机制的代码实现四、confirm机制投递消息的高延迟性五、高并发下如何投递消息才能不丢失六、消息中间件全链路100%数据不丢失能做到吗&#xff1f;…

医学图像包——DCMTK、VTK、ITK、RTK、SimpleITK

1.ITK-医学图像处理软件包 ITK&#xff08; Insight Segmentation and Registration Toolkit&#xff09;是美国国家卫生院下属的国立医学图书馆开发的一款医学图像处理软件包&#xff0c;是一个开源的、跨平台的影像分析扩展软件工具。 ITK的开发过程中采用了先进的多模态数…

VAE详解及PyTorch代码

三大有名的生成模型VAE、GAN以及Diffusion Model 其余两篇 看了网上的一些博客&#xff0c;大多都写到了重点&#xff0c;也就是后面的公式推导部分&#xff0c;可是大部分只有推导过程&#xff0c;很少有讲明白为什么要这么假设&#xff0c;我看的时候内心不断有个疑问&…

这篇文章详细介绍动态内存管理 ,让你醍醐灌顶【c语言】

文章目录动态内存函数mallocfreecallocrealloc常见的动态内存错误对NULL指针的解引用操作对动态开辟空间的越界访问对非动态开辟内存使用free释放使用free释放一块动态开辟内存的一部分对同一块动态内存多次释放动态开辟内存忘记释放&#xff08;内存泄漏&#xff09;练习柔性数…

物联网终端的信息保护

针对漏洞的恶意行为分析 我们共捕获到 4 种针对 UPnP 漏洞的利用行为 1&#xff0c;如表 4.7 所示。从中可以看出&#xff0c;这些漏洞均为远程 命令执行类漏洞。另外我们也发现&#xff0c;当漏洞出现在特定端口时&#xff0c;攻击者一般不会经过 UPnP 的发现阶段&#xff0c…

Moran指数分析

Moran指数分析 Moran指数&#xff08;莫兰指数&#xff09;是研究空间关系的一种相关系数值&#xff0c;比如研究中国31省市GDP之间是否具有空间相关关系。Moran指数通常分为两种&#xff0c;分别是全局Moran指数和local局部Moran指数。全局Moran指数用于分析整体上是否存在空…