优秀的编程知识分享平台

网站首页 > 技术文章 正文

基础到实战一飞冲天(一)--linux基础(六)

nanyue 2025-01-05 19:25:15 技术文章 4 ℃

# 06_ Python基础到实战一飞冲天(一)--linux基础(六)--putty-xshell-scp-filezilla-ssh-免密登录-配置别名

## 一、远程管理命令-10-PuTTY的安装和exit退出登录

### 1、 Windows 下 SSH 客户端的安装

1) `Putty` 下载安装地址:http://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

2) `XShell` 下载安装地址:http://xshellcn.com

3)强烈建议从官方网站下载正式的安装程序,其他渠道下载的软件,有可能被黑客修改过。

### 2、Putty 客户端,远程登录测试

## 二、远程管理命令-11-XShell的安装-免费和设置语言

### 1、XShell 下载安装

1)强烈建议 `XShell` 官方网站下载安装包:http://xshellcn.com

2)双击打开安装包:Xshell-7.0.0137.exe 点击【下一步】。

3)点击【浏览】,选择安装位置,点击【下一步】,一路默认,点击【完成】完成安装。

### 2、用 XShell 测试远程连接

1)打开 XShell-7 点击【文件】---》【新建】。

2)输入虚拟主机 IP 地址,协议:默认SSH ,端口:默认 22 ,点击【连接】。

3)输入登录用户名,勾选【记住用户名】,点击【确定】。

4)输入用户密码,勾选【记住密码】,点击【确定】,登录成功。

## 三、远程管理命令-12-scp作用以及命令格式

### 1、 `scp` 命令(掌握)

1) scp 就是 `secure copy`,是一个在 Linux 下用来进行 **远程拷贝文件** 的命令。

2) 它的**地址格式与 ssh 基本相同**,**需要注意的是**,在指定端口时用的是大写的 `-P` 而不是小写的。

### 2、scp 命令格式

```bash

# 把本地当前目录下的 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

```

## 四、远程管理命令-13-scp在Mac终端中的演示

### 1、scp 命令参数

选项

含义

-r

若给出的源文件是目录文件,则 scp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名

-P

若远程 SSH 服务器的端口不是 22,需要使用大写字母 -P 选项指定端口


### 2、注意:

1) `scp` 这个终端命令只能在 `Linux` 或者 `UNIX` 系统下使用。

2)如果在 `Windows` 系统中,可以安装 `PuTTY`,使用 `pscp` 命令行工具或者安装 `FileZilla` 使用 `FTP` 进行文件传输。

### 3、scp 命令在 mac苹果电脑终端中的演示

## 五、远程管理命令-14-FileZilla在Windows下文件传输

### 1、 `FileZilla` 文件上传下载软件。

FileZilla 客户端是一个快速可靠的、跨平台的FTP,FTPS和SFTP客户端。具有图形用户界面(GUI)和很多有用的特性。

### 2、`FileZilla` 软件下载安装

1)官方网站下载:https://www.filezilla.cn/download/client

### 3、`FileZilla` 连接虚拟机,进行文件上传、下载测试。

1) `FileZilla` 在传输文件时,使用的是 `FTP 服务` 而不是 `SSH 服务`,因此端口号应该设置为 `21` 。

2)确定你的 ubuntu 系统,是否已经安装了 vsftpd 服务。

```bash

#查看vsftpd服务状态

systemctl status vsftpd

#如果没有安装vsftpd服务,先安装vsftpd 服务。

apt install vsftpd

```

3)在 你的 ubuntu系统中,已经启动 vsftpd 服务

```bash

#如果vsftpd服务没有启动,先启动vsftpd 服务。

systemctl start vsftpd

```

4)查看你的防火墙是否对 21 端口放行,或者关闭防火墙。

ubuntu 系统中,可以使用 ufw ( Uncomplicated Firewall ) 来管理防火墙。

```bash

#激活防火墙

sudo ufw enable

#查看防火墙状态

sudo ufw status

#让防火墙对21端口放行

sudo ufw allow 21/tcp

#禁用防火墙

sudo ufw disable

```

## 六、SSH高级-01-确定目标/认识 .ssh目录

### 1、 SSH 高级应用(知道)

1) 免密码登录

2) 配置别名

> 提示:有关 SSH 配置信息都保存在用户家目录下的 `.ssh` 目录下。

### 2、认识 虚拟机下ubuntu系统,用户(如:python)家目录下的 `.ssh` 目录

```bash

cd ~

ls -ahl

cd .ssh

ls -ahl

#ssh -p 22 主机名@IP地址(如:mac苹果电脑的主机名是ubuntu ,IP地址是:192.168.6.130)

ssh -p 22 ubuntu@192.168.6.130

```

## 七、SSH高级-02-免密码登录设置步骤

### 1、在 ubuntu 系统,通过 ssh免密码登录到 mac苹果电脑终端。

1) 配置公钥

* 执行 `ssh-keygen` 即可生成 SSH 钥匙,一路回车即可。

如:cd ~

cd .ssh

ssh-keygen

一路回车即可。

2)上传公钥到服务器(把公钥传到 mac 苹果电脑)

* 执行 `ssh-copy-id -p port user@remote`,可以让远程服务器记住我们的公钥。


如下:


```bash

python@ubuntu:~/.ssh$ ls

id_rsa id_rsa.pub known_hosts

python@ubuntu:~/.ssh$ ssh-copy-id itheima@172.16.140.1

python@ubuntu:~/.ssh$ cat id_rsa.pub

```

### 2、配置好后,在 ubuntu 系统,通过 ssh免密码登录到 mac苹果电脑终端 演示

```bash

python@ubuntu:~/.ssh$ ssh-copy-id itheima@172.16.140.1

```

## 八、SSH高级-03-免密码登录工作原理

### 1、免密登录工作原理:示意图

### 2、什么是非对称加密算法

> * 使用 **公钥** 加密的数据,需要使用 **私钥** 解密。

> * 使用 **私钥** 加密的数据,需要使用 **公钥** 解密。

## 九、SSH高级-04-配置远程计算机的别名

### 1、配置别名

1) 每次都输入 `ssh -p port user@remote`,时间久了会觉得很麻烦,特别是当 `user`, `remote` 和 `port` 都得输入,而且还不好记忆。

2)而 **配置别名** 可以让我们进一步偷懒,譬如用:`ssh mac` 来替代上面这么一长串,那么就在 `~/.ssh/config` 里面追加以下内容:

```bash

Host mac

HostName ip地址

User itheima

Port 22

```

3)**保存之后,即可用 `ssh mac` 实现远程登录了,`scp` 同样可以使用**

### 2、配置别名 示例:

```bash

#查看python用户家目录下的 .ssh 隐藏目录

python@ubuntu:~/.ssh$ ls

id_rsa id_rsa.pub known_hosts

#创建配置别名的配置文件

python@ubuntu:~/.ssh$ touch config

#再次查看python用户家目录下的 .ssh 隐藏目录

python@ubuntu:~/.ssh$ ls

config id_rsa id_rsa.pub known_hosts

#打开并编辑config 配置文件

python@ubuntu:~/.ssh$ gedit config

#输入以下内容:

Host myserver

HostName 172.16.140.1

User itheima

Part 22

#按 Ctrl + s 保存退出。

```

### 3、使用别名,在 ubuntu 系统上登录到 mac 苹果电脑的 itheima用户家目录,

```bash

python@ubuntu:~/.ssh$ ssh myserver

```

### 4、使用别名,把 ubuntu 系统上的 python 用户家目录的桌面文件夹,使用 scp 全部复制到 mac 苹果电脑上桌面的 demo 文件夹。

```bash

python@ubuntu:~/.ssh$ scp -r ~/Desktop myserver:Desktop/demo

```

## 十、用户权限-01-学习目标

### 1、用户权限相关命令:

read, write, excute,

chmod, chown, su, sudo,

groupadd, groupdel, cat /etc/group, chgrp -R,

useradd, adduser, passwd, userdel

### 2、目标

1) **用户** 和 **权限** 的基本概念

2)**用户管理** 终端命令

3) **组管理** 终端命令

4) **修改权限** 终端命令

上一节关联链接请点击:

Python基础到实战一飞冲天(一)--linux基础(五)

Tags:

最近发表
标签列表