2-3 远程管理命令-SSH工作方式简介
03.远程登录和复制文件
| 序号 | 命令 | 对应英文 | 作用 |
|---|---|---|---|
| 01 | ssh 用户名@ip | secure shell | 关机/重启 |
| 02 | scp 用户名@ip:用户名或路径 用户名@ip:文件名或路径 | secure copy | 远程复制文件 |
3.1 ssh 基础(重点)
在Linux中SSH是非常常用的工具,通过SSH客户端我们可以连接到运行了SSH服务器的远程机器上

- SSH客户端是一种使用
Secure shell(SSH)协议连接到计算机的软件程序 - SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议
- 利用
SSH 协议可以有效防止远程管理过程中的信息泄露 - 通过
SSH 协议可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗 SSH的另一项有点事传输的数据可以是经过压缩的,所以可以加快传输的速度
- 利用
1)域名 和 端口号
域名
- 由一串用点分隔的名字组成,eg:
www.baidu.com - 是IP地址的别名,方便用户记忆
端口号
- IP地址:通过IP地址找到网络上的计算机
- 端口号:通过端口号可以找到计算机上运行的应用程序
- SSH服务器的默认端口号是
22,如果是默认端口号,在连接的时候可以省略
- SSH服务器的默认端口号是
- 常见服务端口号列表:
| 序号 | 服务 | 端口号 |
|---|---|---|
| 01 | SSH服务器 | 22 |
| 02 | Web服务器 | 80 |
| 03 | HTTPS | 443 |
| 04 | FTP服务器 | 21 |
软件中:
访问地址组成的结构:ip地址+:+端口号
Linux中:
eg:$ ssh -p端口号 用户名@IP地址
注意:
在这之前要确定LInux上有安装ssh操作如下:
1.ps - e| grep ssh 如果没有看到进程类似:
就说明没有启动或安装
2.安装ssh:sudo apt-grep install openssh-server,之后输入yes,进行安装。再次通过ps - e| grep ssh确定是否启动
3.启动ssh:sudo /etc/init.d/ssh start
4.ssh连接客户端:$ ssh 用户名@IP地址:端口号,或者不用输入端口号
2)SSH客户端的简单使用
ssh [-p port] user@remote
user是在远程机器上的用户名,如果不指定的话,就默认为当前用户remote是远程机器的地址,可以是IP/域名,或者是后面会提到的别名port是SSh Server箭头的端口,如果不指定,就默认为默认22
提示:
- 使用
exit退出当前用户的登录
注意:
ssh这个终端命令只能在linux或UNIX系统下使用- 如果在
Windows系统中,可以安装PuTTY或者XShell客户端软件即可
提示:
- 在工作中,SSH服务器的端口很可能不是22,如果遇到这种情况就需要使用
-p选项,指定正确端口号,否则无法正常连接到服务器
3)Windows下SSH客户端安装
3.2 scp(掌握)
- scp就是
secure copy,是一个在Linux下用来进行远程拷贝文件的命令 - 它的地址格式与ssh基本相同,需要注意的是,在指定端口是用的是大写
-p而不是小写的

user是用户名,remote是远程IP
1# 把本地当前目录下的01.py 文件复制到远程家目录下的 Desktop/01.py
2# 注意: `:`后的路径如果不是绝对路径,则以用户的家目录作为参照路径
scp -P port 01.py user@remote:Desktop/01.py
3# 把远程家目录小的Desktop /01.py 文件复制到本地当前目录下的01.py
scp -P port 01.py user@remote:Desktop/01.py
4# 加上 -r选项可以传送文件夹
5# 把当前目录下的demo 文件夹复制到远程家目录下的Desktop
scp -r demo user@remote:Desktop
6# 把远程家目录下的Desktop 复制到当前目录下的demo文件夹
scp -r user@remote:Desktop demo
| 选项 | 含义 |
|---|---|
| -r | 若给出源文件是目录文件(文件夹),则scp将递归复制该目录下的 所有子目录和文件,目标文件必须为一个目录名 |
| -P | 若远程SSH服务器的端口不是22,需要使用大写字母-P选项指定端口 |
注意:
scp在这个终端命令只能在linuxhuoUNIX系统下使用- 如果在
windows中,可以安装PuTTY,使用pscp命令行工具或者安装FileZilla使用FTP进行文件传输
FileZilla
- 官网:https://filezilla-project.org/download.php?type=client
FileZilla在传输文件时,使用的是FTP服务而不是SSH服务
报错

解决方法
1.防火墙的问题,由于我的防火墙日常关闭,所有跟这个没关系
2.建立新站点,采用 stfp + 端口 22 的方式
FIlezilla -> 文件 -> 站点管理->新站点->常规里的协议:STFP-SSH ->主机:远程的IP 用户名和密码->连接
3.3 SSH高级(高级)
- 免密登录
- 配置别名
提示:有关SSH配置信息都保存在家目录下的.ssh目录下
1)免密登录
步骤:
1.配置公钥
- 执行
ssh-keygen即可生成SSH钥匙,一路ENTER即可 ,之后会生成id_rsa id_rsa.pub 两个文件
2.上传公钥
- 执行
ssh-copy-id -p port user@remote,可以让远程服务器记住我们的公钥
下图是操作结果

示意图:

本地使用私钥对数据进行加密/解密
服务器使用公钥对数据进行加密/解密
非对称加密算法
- 使用公钥加密的数据,需要使用私钥解密
- 使用私钥加密的数据,需要使用公钥解密
2)配置别名
每次输入ssh-copy-id -p port user@remote,时间久也很麻烦,特别是当user,remote和port都得输入,而且还不好记忆
但配置别名就会很方便了,例如:ssh mac
具体操作是在本地计算机的~/.ssh/chonfig里追加以下内容:
Host mac
HostName ip地址
User 用户名
port 22
保存之后,就可以使用ssh mac实现远程别名登录,scp同样可以使用
2-3 远程管理命令-SSH工作方式简介的更多相关文章
- 29-Ubuntu-远程管理命令-03-SSH工作方式简介
在Linux中SSH是非常重要的工具,通过SSH客户端可以连接到运行了SSH服务器的远程机器上. 1.SSH客户端是一种使用Secure Shell(SSH)协议连接到远程计算机的软件程序. 2.SS ...
- 2-2 远程管理命令-网卡和IP地址的概念
02.查看或配置网卡信息 序号 命令 对应英文 作用 01 ifconfig configure a network interface 查看/配置计算机当前的网卡配置信息 02 ping ip地址 ...
- Linux常见系统命令和远程管理命令
系统命令 时间与日期: date(查看系统时间) cal (查看本月日历) cal -y (查看一年12个月的日历) 磁盘信息: df -h (查看磁盘剩余空间) #重点放于过载点的/ 目录下 du ...
- 【Linux远程管理】SSH协议远程管理
SSH(Secure Shell)协议.命令行界面(CLI)下的远程管理工具,几乎所有的操作系统都有,区别于Telnet,SSH在进行数据传送时会对数据进行加密,所以SSH是比较安全的协议.几乎所有的 ...
- linux常用终端命令(三)远程管理命令
三.远程管理常用命令 关机/重启 shutdown 查看或配置网卡信息 ifconfig ping 远程登录和复制文件 ssh scp 1.关机/重启 序号 命令 对应英文 作用 01 shutdow ...
- SSH工作过程简介和SSH协议算法集简介
SSH简介 SSH是Secure Shell(安全外壳)的简称,是一种在不安全的网络环境中,通过加密机制和认证机制,实现安全的远程访问以及文件传输等业务的网络安全协议. SSH协议采用了典型的客户端/ ...
- Linux远程管理命令
关机\重启 shutdown 选项 时间 参数 -r 重启 例子: shutdown 1分钟后关机 shutdown now 立刻关机 shutdown –r now 立即重启 shutdown 20 ...
- SSH远程管理
目录 SSH远程管理 ssh功能 SSH相关命令 Xshell连接不上虚拟机 scp命令 SSH验证方式 优化 免交互expect[扩展] 免交互sshpass[扩展] 简易跳板机 小结 SSH远程管 ...
- 五.ssh远程管理服务
01. 远程管理服务知识介绍 1) SSH远程登录服务介绍说明 SSH是Secure Shell Protocol的简写,由 IETF 网络工作小组(Network Working Group)制定: ...
随机推荐
- Java用广度优先搜索快速搜索文件
背景 在开发的过程中,经常需要在文件系统里按某些条件搜索文件,比如音乐播放器扫描音乐,而搜索文件,大多人喜欢用递归的方式,而这也是最容易想到的方式.递归方式如果文件夹很深就容易造成栈溢出,而且不断的压 ...
- springboot使用hibernate validator
前言 在开发中经常需要写一些字段校验的代码,比如字段非空,字段长度限制,邮箱格式验证等等,写这些与业务逻辑关系不大的代码个人感觉有两个麻烦: 验证代码繁琐,重复劳动 方法内代码显得冗长 每次要看哪些参 ...
- phpStorm+xdebug调试(php7.3)
一.首先安装xdebug 安装xdebug比 ,运行php -i >phpinfo.txt 或者 echo phpinfo();将全部信息贴到https://xdebug.org/wizard. ...
- SQL Server 之事务执行,让语句在事务中执行
BEGIN TRAN BEGIN TRY DELETE FROM dbo.表 INSERT INTO dbo.表( Id, 字段....) SELECTId,字段... F ...
- diango运行流程
diango运行流程 Django处理一个请求的流程: 在浏览器的地址栏中输入地址,回车,发了一个GET请求 wsgi模块接收了请求,将请求的相关信息封装成request对象 根据地址找到对应函数 执 ...
- Security+学习笔记
第二章 风险分析 风险管理 评估:确定并评估系统中存在的风险 分析:分析风险对系统产生的潜在影响 响应:规划如何响应风险的策略 缓解: 缓解风险对未来安全造成的不良影响 风险分析流程 资产确定 漏洞确 ...
- Java面试准备基础篇_11.24
Java类加载机制 Java内存模型JMM 为什么 Redis 单线程能支撑高并发? 高并发下的接口幂等性解决方案! 面试官问:平常你是怎么对 Java 服务进行调优的? JAVA虚拟机(JVM)六: ...
- JS原型链与instanceof底层原理
一.问题: instanceof 可以判断一个引用是否属于某构造函数: 另外,还可以在继承关系中用来判断一个实例是否属于它的父类型. 老师说:instanceof的判断逻辑是: 从当前引用的proto ...
- 【Golang基础】defer执行顺序
defer 执行顺序类似栈的先入后出原则(FILO) 一个defer引发的小坑:打开文件,读取内容,删除文件 // 原始问题代码 func testFun(){ // 打开文件 file, ...
- C++ Debug 模式下程序崩溃: Expression: is_block_type_valid(header->block_use)
出现这样的错误,可能有很多种原因,而我出现崩溃的原因是由于代码中定义了vector容器, 未对它进行初始化操作导致的, 只要对它的大小进行初始化操作就行了 崩溃代码: vector<Rect& ...