远程登录和复制文件
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | ssh 用户名@ip | secure shell | 关机/重新启动 |
02 | scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径 | secure copy | 远程复制文件 |
3.1 ssh 基础(重点)
在 Linux 中 SSH 是 非常常用 的工具,通过 SSH 客户端 我们可以连接到运行了 SSH 服务器 的远程机器上
001_SSH示意图
通常客户端会有属于客户端的SSH软件或操作平台,服务器会有单独属于服务器的SSH软件
Linux和Mac操作系统中通常自带的有SSH操作平台,唯独 Windows 系统中不包含该程序,所以你要是想用Windows系统远程登录的话 ,还需要安装专属远程登录的操作软件。
•SSH 客户端是一种使用 Secure Shell(SSH) 协议连接到远程计算机的软件程序
•SSH 是目前较可靠,专为远程登录会话和其他网络服务 提供安全性的协议 ◦利用 SSH 协议 可以有效防止远程管理过程中的信息泄露
◦通过 SSH 协议 可以对所有传输的数据进行加密,也能够防止 DNS 欺骗和 IP 欺骗
•SSH 的另一项优点是传输的数据可以是经过压缩的,所以可以加快传输的速度
1) 域名 和 端口号
域名
•由一串 用点分隔 的名字组成,例如:www.itcast.cn
•是 IP 地址 的别名,方便用户记忆
端口号
•IP 地址:通过 IP 地址 找到网络上的 计算机
•端口号:通过 端口号 可以找到 计算机上运行的应用程序
◦SSH 服务器 的默认端口号是 22,如果是默认端口号,在连接的时候,可以省略
•常见服务端口号列表:
序号 | 服务 | 端口号 |
---|---|---|
01 | SSH服务器 | 22 |
02 | Web 服务器 | 80 |
03 | HTTPS | 443 |
04 | FTP 服务器 | 21 |
提示:IP用于找到具体的服务器(电脑),端口用于找到服务器上具体的软件(Web服务器,Ftp服务器,,,,,,)
2) SSH 客户端的简单使用
ssh [-p port] user@remote
•user 是在远程机器上的用户名,如果不指定的话默认为当前用户
•remote 是远程机器的地址,可以是 IP/域名,或者是 后面会提到的别名
•port 是 SSH Server 监听的端口,如果不指定,就为默认值 22
提示:
•使用 exit 退出当前用户的登录
这里有个例子可以看一看
注意:
•ssh 这个终端命令只能在 Linux 或者 UNIX 系统下使用
•如果在 Windows 系统中,可以安装 PuTTY 或者 XShell 客户端软件即可扫描二维码关注公众号,回复: 3718303 查看本文章
提示:
•在工作中,SSH 服务器的端口号很有可能不是 22,如果遇到这种情况就需要使用 -p 选项,指定正确的端口号,否则无法正常连接到服务器
3) Windows 下 SSH 客户端的安装
•Putty http://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
•XShell http://xshellcn.com
建议从官方网站下载正式的安装程序
这里给个例子看一下:
远程登录的强大之处就在于它无视距离空间,最大的毛病就是对于现在大多数只会用图形页面的人来讲,就等同与对那个啥弹琴。
3.2 scp(掌握)
•scp 就是 secure copy,是一个在 Linux 下用来进行 远程拷贝文件 的命令
•它的地址格式与 ssh 基本相同,需要注意的是,在指定端口时用的是大写的 -P 而不是小写的(唯一的不同点)
002_SCP示意图
把本地当前目录下的 01.py 文件 复制到 远程 家目录下的 Desktop/01.py
注意::
后面的路径如果不是绝对路径,则以用户的家目录作为参照路径
scp -P port 01.py user@remote:Desktop/01.py
把远程 家目录下的 Desktop/01.py 文件 复制到 本地当前目录下的 01.py
scp -P port user@remote:Desktop/01.py 01.py
加上 -r 选项可以传送文件夹
把当前目录下的 demo 文件夹 复制到 远程 家目录下的 Desktop
scp -r demo user@remote:Desktop
把远程 家目录下的 Desktop 复制到 当前目录下的 demo 文件夹
scp -r user@remote:Desktop demo
选项 | 含义 |
---|---|
-r | 若给出的源文件是目录文件,则 scp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名 |
-P | 若远程 SSH 服务器的端口不是 22,需要使用大写字母 -P 选项指定端口 |
给个例子看一下:
注意:
•scp 这个终端命令只能在 Linux 或者 UNIX 系统下使用
•如果在 Windows 系统中,可以安装 PuTTY,使用 pscp 命令行工具或者安装 FileZilla 使用 FTP 进行文件传输
FileZilla
•官方网站:https://www.filezilla.cn/download/client
•FileZilla 在传输文件时,使用的是 FTP 服务 而不是 SSH 服务,因此端口号应该设置为 21