百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

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

nanshan 2024-11-19 07:45 8 浏览 0 评论

# 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基础(五)

相关推荐

实战派 | Java项目中玩转Redis6.0客户端缓存

铺垫首先介绍一下今天要使用到的工具Lettuce,它是一个可伸缩线程安全的redis客户端。多个线程可以共享同一个RedisConnection,利用nio框架Netty来高效地管理多个连接。放眼望向...

轻松掌握redis缓存穿透、击穿、雪崩问题解决方案(20230529版)

1、缓存穿透所谓缓存穿透就是非法传输了一个在数据库中不存在的条件,导致查询redis和数据库中都没有,并且有大量的请求进来,就会导致对数据库产生压力,解决这一问题的方法如下:1、使用空缓存解决对查询到...

Redis与本地缓存联手:多级缓存架构的奥秘

多级缓存(如Redis+本地缓存)是一种在系统架构中广泛应用的提高系统性能和响应速度的技术手段,它综合利用了不同类型缓存的优势,以下为你详细介绍:基本概念本地缓存:指的是在应用程序所在的服务器内...

腾讯云国际站:腾讯云服务器如何配置Redis缓存?

本文由【云老大】TG@yunlaoda360撰写一、安装Redis使用包管理器安装(推荐)在CentOS系统中,可以通过yum包管理器安装Redis:sudoyumupdate-...

Spring Boot3 整合 Redis 实现数据缓存,你做对了吗?

你是否在开发互联网大厂后端项目时,遇到过系统响应速度慢的问题?当高并发请求涌入,数据库压力剧增,响应时间拉长,用户体验直线下降。相信不少后端开发同行都被这个问题困扰过。其实,通过在SpringBo...

【Redis】Redis应用问题-缓存穿透缓存击穿、缓存雪崩及解决方案

在我们使用redis时,也会存在一些问题,导致请求直接打到数据库上,导致数据库挂掉。下面我们来说说这些问题及解决方案。1、缓存穿透1.1场景一个请求进来后,先去redis进行查找,redis存在,则...

Spring boot 整合Redis缓存你了解多少

在前一篇里面讲到了Redis缓存击穿、缓存穿透、缓存雪崩这三者区别,接下来我们讲解Springboot整合Redis中的一些知识点:之前遇到过,有的了四五年,甚至更长时间的后端Java开发,并且...

揭秘!Redis 缓存与数据库一致性问题的终极解决方案

在现代软件开发中,Redis作为一款高性能的缓存数据库,被广泛应用于提升系统的响应速度和吞吐量。然而,缓存与数据库之间的数据一致性问题,一直是开发者们面临的一大挑战。本文将深入探讨Redis缓存...

高并发下Spring Cache缓存穿透?我用Caffeine+Redis破局

一、什么是缓存穿透?缓存穿透是指查询一个根本不存在的数据,导致请求直接穿透缓存层到达数据库,可能压垮数据库的现象。在高并发场景下,这尤其危险。典型场景:恶意攻击:故意查询不存在的ID(如负数或超大数值...

Redis缓存三剑客:穿透、雪崩、击穿—手把手教你解决

缓存穿透菜小弟:我先问问什么是缓存穿透?我听说是缓存查不到,直接去查数据库了。表哥:没错。缓存穿透是指查询一个缓存中不存在且数据库中也不存在的数据,导致每次请求都直接访问数据库的行为。这种行为会让缓存...

Redis中缓存穿透问题与解决方法

缓存穿透问题概述在Redis作为缓存使用时,缓存穿透是常见问题。正常查询流程是先从Redis缓存获取数据,若有则直接使用;若没有则去数据库查询,查到后存入缓存。但当请求的数据在缓存和数据库中都...

Redis客户端缓存的几种实现方式

前言:Redis作为当今最流行的内存数据库和缓存系统,被广泛应用于各类应用场景。然而,即使Redis本身性能卓越,在高并发场景下,应用于Redis服务器之间的网络通信仍可能成为性能瓶颈。所以客户端缓存...

Nginx合集-常用功能指导

1)启动、重启以及停止nginx进入sbin目录之后,输入以下命令#启动nginx./nginx#指定配置文件启动nginx./nginx-c/usr/local/nginx/conf/n...

腾讯云国际站:腾讯云怎么提升服务器速度?

本文由【云老大】TG@yunlaoda360撰写升级服务器规格选择更高性能的CPU、内存和带宽,以提供更好的处理能力和网络性能。优化网络配置调整网络接口卡(NIC)驱动,优化TCP/IP参数...

雷霆一击服务器管理员教程

本文转载莱卡云游戏服务器雷霆一击管理员教程(搜索莱卡云面版可搜到)首先你需要给服务器设置管理员密码,默认是空的管理员密码在启动页面进行设置设置完成后你需要重启服务器才可生效加入游戏后,点击键盘左上角E...

取消回复欢迎 发表评论: