目录
Linux基础知识第六讲,远程管理ssh操作
一丶什么是SSH
1.什么是SSH
在 Linux 中 SSH 是 非常常用 的工具,通过 SSH 客户端 我们可以连接到运行了 SSH 服务器 的远程机器上
SSH简单来说就是 一个客户端 一个服务器. 中间的传输协议是SSH. 进行数据加密和压缩传输.防止信息泄露.
2.了解域名跟端口
域名
- 由一串 用点分隔 的名字组成,例如:
www.baidu.com
- 是 IP 地址 的别名,方便用户记忆
端口号
-
IP 地址:通过 IP 地址 找到网络上的 计算机
-
端口号:通过 端口号 可以找到 计算机上运行的应用程序
- SSH 服务器 的默认端口号是
22
,如果是默认端口号,在连接的时候,可以省略
- SSH 服务器 的默认端口号是
-
常见服务端口号列表:
序号 | 服务 | 端口号 |
---|---|---|
01 | SSH 服务器 | 22 |
02 | Web 服务器 | 80 |
03 | HTTPS | 443 |
04 | FTP 服务器 | 21 |
二丶SSH命令以及远程连接linux进行维护
1.ssh命令格式
ssh [-p port] user@remote
user
是在远程机器上的用户名,如果不指定的话默认为当前用户remote
是远程机器的地址,可以是 IP/域名port
是 SSH Server 监听的端口,如果不指定,就为默认值22
提示:
- 使用
exit
退出当前用户的登录
ssh默认监听的端口默认就是22. 如果你的ssh端口改变,那个这个端口就要指定来了.
例如:
ssh -p 23 远程计算机用户名:远程计算机的IP或者域名.
如果你是windows. 那么你就需要安装SSH软件 putty 或者 xshell来进行维护和管理
putty官方下载地址: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
xShell官方下载地址: https://xshell.en.softonic.com/
2.scp远程终端拷贝文件
我们学过终端命令, cp 进行拷贝文件. 那么scp就是远程拷贝文件
- scp 就是
secure copy
,是一个在 Linux 下用来进行 远程拷贝文件 的命令 - 它的地址格式与 ssh 基本相同,需要注意的是,在指定端口时用的是大写的
-P
而不是小写的
命令演示:
# 把本地当前目录下的 01.py 文件 复制到 远程 家目录下的 Desktop/01.py
# 注意:`:` 后面的路径如果不是绝对路径,则以用户的家目录作为参照路径
scp -P port 01.py user@remote:Desktop/01.py
列子:
scp 01.py root:xxx:Desktop/01.py 把01.py 拷贝到目的root计算机下的DeskTop下.
# 把远程 家目录下的 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
进行文件传输
scp命令跟cp命令很相似. 只不过操作远程服务器,你需要指定远程服务器的用户名以及你要拷贝到目的的目录.
在windows上使用FileZilla是FTP协议.所以我们填写的端口是21.
工具的使用与下载
链接: https://filezilla-project.org/
3.ssh高级用法
我们每次链接远程服务器的时候.都要进行输入远程远程服务器的密码.这样很麻烦.
我们可以建立一个 ssh私钥 跟公钥. 公钥放到远程服务器上.我们就可以进行免密码操作.
两条命令搞定.
- 配置公钥
- 执行
ssh-keygen
即可生成 SSH 钥匙,一路回车即可
- 执行
- 上传公钥到服务器
- 执行
ssh-copy-id -p port user@remote
,可以让远程服务器记住我们的公钥
注意,我们生成的ssh钥匙是在.ssh目录下.也就是 home/.ssh 中.
因为ssh目录前边有一个. 所以代表这个目录是隐藏的. 我们需要使用 ls -a来查看才可以.
- 执行
4.ssh别名配置
我们使用ssh链接远程服务器的时候. 一般敲很多 命令
ssh -p xxx user@ip... 才能链接
现在我们能起别名了. 直接 ssh xx 就能链接
配置方法:
1.在你的客户端.ssh目录下创建一个config文件
2.在config配置你的信息
如下:
Host 别名名称
HostName 远程服务器IP
User 远程服务器用户名
Port 远程服务器端口,ssh的.默认是22
如下:
如下,直接进行链接即可.