网站首页 > 技术文章 正文
# 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) **修改权限** 终端命令
上一节关联链接请点击:
- 上一篇: 分享跨平台免费的SSH客户端 PortX
- 下一篇: Linux运维获取内存、cpu、磁盘IO信息
猜你喜欢
- 2025-01-05 Linux运维获取内存、cpu、磁盘IO信息
- 2025-01-05 分享跨平台免费的SSH客户端 PortX
- 2025-01-05 前方高能预警!电脑病毒再度来袭!
- 2025-01-05 推荐-运维管理服务器常用的工具
- 2025-01-05 树莓派制造木制 LED 显示器,只需几百元,从此过瘾玩游戏
- 2025-01-05 揭秘!那些让程序员爱不释手的终端神器,你用过几个?
- 2025-01-05 Dever勒索病毒实例分析一则
- 2025-01-05 群晖nas定时任务远程备份mysql
- 2025-01-05 Python基础到实战一飞冲天(一)--linux基础(五)
- 2025-01-05 外网访问群晖DSM7.0使用Docker安装ZeroTier实现内网穿透
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)