03.远程登录和复制文件

序号 命令 对应英文 作用
01 ssh 用户名@ip secure shell 关机/重启
02 scp 用户名@ip:用户名或路径 用户名@ip:文件名或路径 secure copy 远程复制文件

3.1 ssh 基础(重点)

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

  • SSH客户端是一种使用Secure shell(SSH)协议连接到计算机的软件程序
  • SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议
    • 利用SSH 协议可以有效防止远程管理过程中的信息泄露
    • 通过SSH 协议可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗
    • SSH的另一项有点事传输的数据可以是经过压缩的,所以可以加快传输的速度
1)域名 和 端口号

域名

  • 由一串用点分隔的名字组成,eg:www.baidu.com
  • IP地址的别名,方便用户记忆

端口号

  • IP地址:通过IP地址找到网络上的计算机
  • 端口号:通过端口号可以找到计算机上运行的应用程序
    • SSH服务器的默认端口号是 22,如果是默认端口号,在连接的时候可以省略
  • 常见服务端口号列表:
序号 服务 端口号
01 SSH服务器 22
02 Web服务器 80
03 HTTPS 443
04 FTP服务器 21

软件中:

访问地址组成的结构:ip地址+:+端口号

Linux中:

eg:$ ssh -p端口号 用户名@IP地址

注意

在这之前要确定LInux上有安装ssh操作如下:

1.ps - e| grep ssh 如果没有看到进程类似:

就说明没有启动或安装

2.安装ssh:sudo apt-grep install openssh-server,之后输入yes,进行安装。再次通过ps - e| grep ssh确定是否启动

3.启动ssh:sudo /etc/init.d/ssh start

4.ssh连接客户端:$ ssh 用户名@IP地址:端口号,或者不用输入端口号

2)SSH客户端的简单使用

ssh [-p port] user@remote

  • user是在远程机器上的用户名,如果不指定的话,就默认为当前用户
  • remote是远程机器的地址,可以是IP/域名,或者是后面会提到的别名
  • portSSh Server箭头的端口,如果不指定,就默认为默认22

提示:

  • 使用exit退出当前用户的登录

注意:

  • ssh这个终端命令只能在linuxUNIX系统下使用
  • 如果在Windows系统中,可以安装PuTTY或者XShell客户端软件即可

提示:

  • 在工作中,SSH服务器的端口很可能不是22,如果遇到这种情况就需要使用-p选项,指定正确端口号,否则无法正常连接到服务器
3)Windows下SSH客户端安装

3.2 scp(掌握)

  • scp就是secure copy,是一个在Linux下用来进行远程拷贝文件的命令
  • 它的地址格式与ssh基本相同,需要注意的是,在指定端口是用的是大写-p而不是小写的

user是用户名,remote是远程IP
1# 把本地当前目录下的01.py 文件复制到远程家目录下的 Desktop/01.py
2# 注意: `:`后的路径如果不是绝对路径,则以用户的家目录作为参照路径
scp -P port 01.py user@remote:Desktop/01.py 3# 把远程家目录小的Desktop /01.py 文件复制到本地当前目录下的01.py
scp -P port 01.py user@remote:Desktop/01.py 4# 加上 -r选项可以传送文件夹
5# 把当前目录下的demo 文件夹复制到远程家目录下的Desktop
scp -r demo user@remote:Desktop 6# 把远程家目录下的Desktop 复制到当前目录下的demo文件夹
scp -r user@remote:Desktop demo
选项 含义
-r 若给出源文件是目录文件(文件夹),则scp将递归复制该目录下的
所有子目录和文件,目标文件必须为一个目录名
-P 若远程SSH服务器的端口不是22,需要使用大写字母-P选项指定端口

注意

  • scp在这个终端命令只能在linuxhuo UNIX系统下使用
  • 如果在windows中,可以安装PuTTY,使用pscp命令行工具或者安装FileZilla使用FTP进行文件传输

FileZilla

报错

解决方法

1.防火墙的问题,由于我的防火墙日常关闭,所有跟这个没关系

2.建立新站点,采用 stfp + 端口 22 的方式

FIlezilla -> 文件 -> 站点管理->新站点->常规里的协议:STFP-SSH ->主机:远程的IP 用户名和密码->连接

3.3 SSH高级(高级)

  • 免密登录
  • 配置别名

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

1)免密登录

步骤:

1.配置公钥

  • 执行ssh-keygen即可生成SSH钥匙,一路ENTER即可 ,之后会生成id_rsa id_rsa.pub 两个文件

2.上传公钥

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

    下图是操作结果

示意图:

本地使用私钥对数据进行加密/解密

服务器使用公钥对数据进行加密/解密


非对称加密算法

  • 使用公钥加密的数据,需要使用私钥解密
  • 使用私钥加密的数据,需要使用公钥解密

2)配置别名

每次输入ssh-copy-id -p port user@remote,时间久也很麻烦,特别是当user,remoteport都得输入,而且还不好记忆

但配置别名就会很方便了,例如:ssh mac

具体操作是在本地计算机的~/.ssh/chonfig里追加以下内容:

Host mac
HostName ip地址
User 用户名
port 22

保存之后,就可以使用ssh mac实现远程别名登录,scp同样可以使用

2-3 远程管理命令-SSH工作方式简介的更多相关文章

  1. 29-Ubuntu-远程管理命令-03-SSH工作方式简介

    在Linux中SSH是非常重要的工具,通过SSH客户端可以连接到运行了SSH服务器的远程机器上. 1.SSH客户端是一种使用Secure Shell(SSH)协议连接到远程计算机的软件程序. 2.SS ...

  2. 2-2 远程管理命令-网卡和IP地址的概念

    02.查看或配置网卡信息 序号 命令 对应英文 作用 01 ifconfig configure a network interface 查看/配置计算机当前的网卡配置信息 02 ping ip地址 ...

  3. Linux常见系统命令和远程管理命令

    系统命令 时间与日期: date(查看系统时间) cal (查看本月日历)  cal -y (查看一年12个月的日历) 磁盘信息: df -h (查看磁盘剩余空间) #重点放于过载点的/ 目录下 du ...

  4. 【Linux远程管理】SSH协议远程管理

    SSH(Secure Shell)协议.命令行界面(CLI)下的远程管理工具,几乎所有的操作系统都有,区别于Telnet,SSH在进行数据传送时会对数据进行加密,所以SSH是比较安全的协议.几乎所有的 ...

  5. linux常用终端命令(三)远程管理命令

    三.远程管理常用命令 关机/重启 shutdown 查看或配置网卡信息 ifconfig ping 远程登录和复制文件 ssh scp 1.关机/重启 序号 命令 对应英文 作用 01 shutdow ...

  6. SSH工作过程简介和SSH协议算法集简介

    SSH简介 SSH是Secure Shell(安全外壳)的简称,是一种在不安全的网络环境中,通过加密机制和认证机制,实现安全的远程访问以及文件传输等业务的网络安全协议. SSH协议采用了典型的客户端/ ...

  7. Linux远程管理命令

    关机\重启 shutdown 选项 时间 参数 -r 重启 例子: shutdown 1分钟后关机 shutdown now 立刻关机 shutdown –r now 立即重启 shutdown 20 ...

  8. SSH远程管理

    目录 SSH远程管理 ssh功能 SSH相关命令 Xshell连接不上虚拟机 scp命令 SSH验证方式 优化 免交互expect[扩展] 免交互sshpass[扩展] 简易跳板机 小结 SSH远程管 ...

  9. 五.ssh远程管理服务

    01. 远程管理服务知识介绍 1) SSH远程登录服务介绍说明 SSH是Secure Shell Protocol的简写,由 IETF 网络工作小组(Network Working Group)制定: ...

随机推荐

  1. android studio 常见编译问题及解决思路总结

    问题一:编译运行成功后放置一段时间后再运行会报错 这个问题让我纠结了不少时间,最后才发现遇到类似的错误,clear一下project就好了.这个一般是上次生成的临时文件和这次的有冲突造成的. 问题二: ...

  2. idea之常用快捷键

    之前一直在使用eclipse,后来工作中慢慢开始使用idea了,这里总结一些idea的快捷键,方便以后查询使用. 一.查找相关快捷键 1.双击shift在项目的所有目录查找,就是你想看到你不想看到的和 ...

  3. 【Cef编译】 CefSharp编译失败,检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”

    编译CefSharp生成后一个libcef_dll_wrapper.lib时,供CefSharp使用.结果CefSharp编译的时候报错.遇到以下异常: libcef_dll_wrapper.lib( ...

  4. Asp.net Core3.0 跨域配置

    原文:http://www.zilaohu.cn/Jie/Detail_Jie?ID=78840a04-55b8-4988-80b2-f964fd822d63 下面配置后:被拒绝的域请求后,可以进入方 ...

  5. Linux(三)

    1.用户与用户组        Linux系统是一个多用户.多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员(root)申请一个账号,然后以这个账号的身份进入系统.       ...

  6. 知识图谱基础之RDF,RDFS与OWL 2

    https://zhuanlan.zhihu.com/p/32122644 看过之前两篇文章([1](为什么需要知识图谱?什么是知识图谱?——KG的前世今生), [2](语义网络,语义网,链接数据和知 ...

  7. VS2017创建的单元测试不支持顺序测试

      问题:使用IDE创建的单元测试项目,标准引用是,导致不能添加顺序测试,复制其它项目的顺序测试文件进行编辑时,也会提示基于MSTest V2的测试不能用于顺序测试     解决办法: 移除自带的NU ...

  8. MySQL相关参数总结

    保留个原文链接,避免被爬虫爬了过去,以便后续更正补充:https://www.cnblogs.com/wy123/p/11273023.html MySQL参数繁多,是一个需要根据具体业务.软硬件环境 ...

  9. Mac录制或保存视频后如何放大?

    想要在录制和拍摄视频后在喜欢的场景(例如Mark)中放大视频吗?本文将向您展示如何放大视频并通过裁剪视频和“平移和缩放”效果来制作Ken Burns效果.Filmora9是一款功能强大的视频编辑器,具 ...

  10. [转载]MGR变量group_replication_primary_member

    组复制的状态变量只有一个,目前在8.0.17这个版本上还是存在的,未来会被废弃掉,我们在单主的模式下,可以用来查看哪个节点是读写节点. mysql: [Warning] Using a passwor ...