Linux基础知识第六讲,远程管理ssh操作

一丶什么是SSH

1.什么是SSH

在 Linux 中 SSH 是 非常常用 的工具,通过 SSH 客户端 我们可以连接到运行了 SSH 服务器 的远程机器上

SSH简单来说就是 一个客户端 一个服务器. 中间的传输协议是SSH. 进行数据加密和压缩传输.防止信息泄露.

2.了解域名跟端口

域名
  • 由一串 用点分隔 的名字组成,例如:www.baidu.com
  • IP 地址 的别名,方便用户记忆
端口号
  • IP 地址:通过 IP 地址 找到网络上的 计算机

  • 端口号:通过 端口号 可以找到 计算机上运行的应用程序

    • SSH 服务器 的默认端口号是 22,如果是默认端口号,在连接的时候,可以省略
  • 常见服务端口号列表:

序号 服务 端口号
01 SSH 服务器 22
02 Web 服务器 80
03 HTTPS 443
04 FTP 服务器 21

二丶SSH命令以及远程连接linux进行维护

1.ssh命令格式

  1. ssh [-p port] user@remote
  • user 是在远程机器上的用户名,如果不指定的话默认为当前用户
  • remote 是远程机器的地址,可以是 IP域名
  • portSSH 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 而不是小写的



命令演示:

  1. # 把本地当前目录下的 01.py 文件 复制到 远程 家目录下的 Desktop/01.py
  2. # 注意:`:` 后面的路径如果不是绝对路径,则以用户的家目录作为参照路径
  3. scp -P port 01.py user@remote:Desktop/01.py
  4. 列子:
  5. scp 01.py root:xxx:Desktop/01.py 01.py 拷贝到目的root计算机下的DeskTop下.
  6. # 把远程 家目录下的 Desktop/01.py 文件 复制到 本地当前目录下的 01.py
  7. scp -P port user@remote:Desktop/01.py 01.py
  8. # 加上 -r 选项可以传送文件夹
  9. # 把当前目录下的 demo 文件夹 复制到 远程 家目录下的 Desktop
  10. scp -r demo user@remote:Desktop
  11. # 把远程 家目录下的 Desktop 复制到 当前目录下的 demo 文件夹
  12. 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配置你的信息

如下:

  1. Host 别名名称
  2. HostName 远程服务器IP
  3. User 远程服务器用户名
  4. Port 远程服务器端口,ssh的.默认是22

如下:



如下,直接进行链接即可.

Linux基础知识第六讲,远程管理ssh操作的更多相关文章

  1. Linux基础知识第七讲,用户权限以及用户操作命令

    目录 Linux基础知识第七讲,用户权限以及用户操作命令 一丶简介linux用户,用户权限,组的概念. 1.1 基本概念 1.2 组 1.3 ls命令查看权限. 二丶用户权限修改命令 1.chmod ...

  2. Linux基础知识第八讲,系统相关操作命令

    目录 Linux基础知识第八讲,系统相关操作命令 一丶简介命令 2.磁盘信息查看. 3.系统进程 Linux基础知识第八讲,系统相关操作命令 一丶简介命令 时间和日期 date cal 磁盘和目录空间 ...

  3. linux基础-第十六单元 yum管理RPM包

    第十六单元 yum管理RPM包 yum的功能 本地yum配置 光盘挂载和镜像挂载 本地yum配置 网络yum配置 网络yum配置 Yum命令的使用 使用yum安装软件 使用yum删除软件 安装组件 删 ...

  4. Linux基础知识第四讲,文件内容命令

    目录 一丶常用命令 1.cat命令演示以及常用选项 2.grep 搜索命令的使用 3.echo 以及 重定向的使用 4.管道概念 一丶常用命令 序号 命令 对应英文 作用 01 cat 文件名 con ...

  5. Linux基础知识第九讲,linux中的解压缩,以及软件安装命令

    目录 Linux基础知识第九讲,linux中的解压缩,以及软件安装命令 一丶Linux Mac Windows下的压缩格式简介 2.压缩以及解压缩 3.linux中的软件安装以及卸载 1.apt进行安 ...

  6. linux基础知识的总结

    例如以下内容是我对linux基础知识的总结,由于本人在初期学习linux的时候走了不少的弯路,对于基础的掌握耗费了不少的时间,所以为了后来者对linux的基础部分有个清晰的了解,特对基础知识进行了总结 ...

  7. (转)Linux基础知识学习

    Linux基础知识学习 原文:http://blog.csdn.net/ye_wei_yang/article/details/52777499 一.Linux的磁盘分区及目录 Linux的配置是通过 ...

  8. Linux基础知识梳理

    Linux基础知识梳理 Linux内核最初只是由芬兰人林纳斯?托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的.Linux是一套免费使用和自由传播的类Unix操作系统,是 ...

  9. 系统和帮助-Linux基础知识

    iOS镜像: 硬盘分区:留出一些空间;实在不成,可安装完成以后,新增一块虚拟硬盘; 终端:terminal 用户界面: GUI:图形界面 GNome KDE CLI: bash,zsh,sh,csh, ...

随机推荐

  1. Python科学计算库

    Python科学计算库 一.numpy库和matplotlib库的学习 (1)numpy库介绍:科学计算包,支持N维数组运算.处理大型矩阵.成熟的广播函数库.矢量运算.线性代数.傅里叶变换.随机数生成 ...

  2. python学习:输入设置

    输入设置 输入用户名和密码 代码: _user = "alex"_password = "abc123" username = input("User ...

  3. TS+React+Redux 使用之搭建环境

    使用 create-react-app 构建 1.全局安装create-react-app npm install -g create-react-app 2.创建一个项目 create-react- ...

  4. 谨以此篇献给DJANGO学习过程中遇到的问题

    谨以此篇献给DJANGO学习过程中遇到的问题 一.Django数据同步过程中遇到的问题: 1.raise ImproperlyConfigured('mysqlclient 1.3.13 or new ...

  5. MySQL 中 having 和 where 的区别

    区别一: where 是数据从磁盘读入内存时候一条一条判断的 having 是将所有数据读入内存,在分组统计前,根据having的条件再将不符合条件的数据删除 区别二: having 子句可以使用字段 ...

  6. Git Bash for Windows add ssh key时报Could not open a connection to your authentication agent.

    $ ssh-add id_rsa_bitbucketCould not open a connection to your authentication agent. 运行: $ ssh-agent ...

  7. 在C++中,setw(int n)

    setw(int n)用来控制输出间隔例如:cout<<'s'<<setw(8)<<'a'<<endl;则在屏幕显示s        a //s与a之间 ...

  8. 初识CUDA

    如果问题规模较小,逻辑控制较为复杂,并行性很小优先使用CPU处理该问题,如果包含较大规模的数据处理,则考虑使用GPU进行处理. CPU上线程是重量级实体,可以开启1~32个线程,且上下文切换较为缓慢, ...

  9. tensorflow-线性函数训练例子一

    import tensorflow as tfimport numpy as np #create datax_data = np.random.rand(100).astype(np.float32 ...

  10. 限制oracle某用户仅能从某IP登录

    system用户创建触发器,登录后触发检查 CREATE OR REPLACE TRIGGER system.check_ip_addresses_test AFTER logon ON DATABA ...