Linux实战笔记(六) SSH,3面直接拿到offer

之后,可以通过以下命令检查应用的安装情况

ssh -V

然后,可以通过以下命令检查服务的开启情况

service sshd status  # 最后的 d 代表 daemon,意思是【守护进程】,该进程由服务端管理

# 开启服务:service sshd start
# 关闭服务:service sshd stop
# 重启服务:service sshd restart

如果你已经安装好  OpenSSH,那么下面我们一起来看看 SSH 的一些典型应用

具体可分为三点,下面三个小节逐一进行介绍:

  • 远程访问,对应第二个小节
  • 端口转发,对应第三个小节
  • 文件传输,对应第四个小节
2、远程访问

远程访问是 ssh 的重要应用之一,其允许本地主机访问并操作远程主机

通过本地的 ssh 客户端连接远程的 ssh 服务端之后就能在上面执行任务

为了保证安全,客户端连接服务端时,需要进行认证

认证方式常用的有两种,分别是密码认证和密钥认证

密码认证简单来说就是通过账号密码认证后才能登录

这种方式使用起来比较简单,只需要一条命令就可以,其具体格式如下:

ssh <user>@<ip> -p <port>

# <user>:代表服务端主机上需要登录的用户名,如果为空,那么默认为 本机用户名
# <ip> :代表服务端主机的地址
# <port>:代表服务端主机上需要连接的端口号,如果为空,那么默认为 22

执行命令后,就会要求输入服务端对应该用户的密码,若输入正确即可完成登录

这里需要注意的是这条命令是在客户端上执行,同时要求服务端已开启服务才行

密钥认证也称免密登录,同样也是通过上述命令进行连接,但是却无需输入密码

这种方法自然也要凭证来证明连接者的身份,只不过凭证由公私钥技术提前生成

具体配置步骤如下所示:

  1. 本地客户端:生成公钥和私钥对
ssh-keygen -t rsa # -t 表示使用的算法类型,这里使用的是 rsa 非对称加密算法

执行命令后,要求输入相关信息,例如:密钥保存路径、私钥口令短语等等

若一路回车,默认会在 ~/.ssh 下生成 id_rsa 私钥和  id_rsa.pub 公钥
2. 本地客户端:传输公钥给服务端

ssh-copy-id <user>@<ip> -p <port>

执行命令后,输入密码就能传公钥到远程 ~/.ssh/authorized_keys 目录

之后使用 ssh 登录时,自动用密钥做验证,无需再次输入密码

3、端口转发

所谓端口转发,实际上就是将发送到一个端口上的数据转发到另一个端口

这在日常开发中也是一个十分常见的需求

端口转发通常可以分为三种,分别是本地转发、远程转发、以及动态转发

这里所用到的命令还挺复杂,不过别怕,下面会进行详细的分析以及总结

本地转发指的是将发送到本地端口的请求转发到远程端口

通常用于远程端上存在有某个服务,本地主机想进行访问,命令格式如下:

ssh <服务端用户>@<服务端地址> -p <服务端端口> -L <绑定地址>:<绑定端口>:<目标地址>:<目标端口>

首先需要说明的是,上述命令是由客户端执行,这里其实是理解转发链路的关键之一

这个命令看起来还挺复杂的,但其实我们可以拆分开来看,分成两个部分:

  1. ssh <服务端用户>@<服务端地址> -p <服务端端口>
  2. -L <绑定地址>:<绑定端口>:<目标地址>:<目标端口>

第一部分跟上一小节的远程访问一样,先建立客户端与服务端连接的隧道

第二部分是本地转发的关键配置所在,将绑定端口上的请求转到目标端口

  1. 绑定端口:是指客户端上所绑定的端口【重点】
  2. 目标端口:是由服务端进行转发的目标【重点】

一句话概括本地转发的转发链路如下:

客户端绑定的端口收到请求时,通过隧道发送到服务端,再由服务端转发到目标端口【重点】

|--------------|        |--------------|        |-----------|
|  客户端的地址  |------->|  服务端的地址  |------->|  目标地址  |
|  所绑定的端口  |------->|  服务端的端口  |------->|  目标端口  |
|--------------|        |--------------|        |-----------|
                  隧道                     转发

实际怎么做本地转发呢?这里举一个例子:

一般来说,云服务器只默认开放 22 端口,但是假设现在 7777 端口运行着一个服务

如果本地要临时访问,则需先修改防火墙,比较麻烦,这时候就可以配置个本地转发

ssh <云服务器用户>@<云服务器地址> -p 22 -L 127.0.0.1:8888:127.0.0.1:7777

# 以上命令在本地主机执行,此时客户端是本地主机,服务端是云服务器,目标地址是 127.0.0.1,也即云服务器 7777 端口
# 
# 执行之后,本地主机访问 127.0.0.1:8888 即可访问云服务器 7777 端口

# 特别说明,关于绑定地址的设置,通常是 127.0.0.1 或 0.0.0.0
# 
# 如果设置 127.0.0.1,则只允许本机的连接;设置为 0.0.0.0,才会监听所有 IP 的连接
# 
# 因为这里的绑定地址是在客户端,即本地主机,后续接收的请求也是来自本地主机,所以设置为 127.0.0.1 就可以

远程转发则是指将发送到远程端口的请求转发到本地端口,这与本地转发的概念相反

通常用于本地端上存在着某个服务,远程主机想进行访问,命令格式如下:

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
img

学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!**

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
[外链图片转存中…(img-MioyaMzT-1712521000158)]

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Windows是由微软公司开发的一种操作系统。它具有易用性、兼容性和强大的功能。Windows系统首次发布于1985年,此后,其不断地升级和发展,发展出了多个版本,如Windows 95、Windows 98、Windows 2000、Windows XP、Windows Vista、Windows 7、Windows 8和Windows 10等。 Windows的界面具有友好的用户操作界面和图形化界面,使得普通用户也能够方便地使用电脑。其系统的兼容性很强,大部分软件和硬件都可以与之兼容。同时,Windows拥有大量的应用程序和游戏,用户可以通过这些来扩展系统的功能和增加趣味性。 除此之外,Windows还提供了一系列高级功能和设置,如安全性、网络连接、多媒体处理、远程控制等。这些功能可满足不同用户的需求。 总之,Windows作为使用最广泛的操作系统之一,其稳定性和易用性受到广泛认可,使得大部分用户能够轻松地利用它进行工作和娱乐,成为了当今世界的主流操作系统之一。 ### 回答2: Windows是一种操作系统,由微软公司开发。它是世界上最流行的操作系统之一,被广泛用于个人电脑和服务器。Windows提供了一个基于图形用户界面(GUI)的交互式桌面环境,用户可以从桌面上访问文件、程序和设备。Windows还提供了许多其他功能,如网络连接、安全性和数据备份。Windows系统的版本包括Windows 10、Windows 8、Windows 7、Windows Vista和Windows XP等。其中,Windows 10是最新和最广泛使用的版本。Windows 10具有新的功能和更新的应用程序,如Windows相机、Windows照片、Cortana助手和Microsoft Edge浏览器。Windows操作系统也提供了广泛的支持和用户社区,使得用户可以轻松获取帮助和支持。总的来说,Windows是一种功能齐全、易于使用和广泛使用的操作系统,它被广泛用于各种设备和应用程序中。 ### 回答3: Windows是由微软公司开发的一款操作系统,是全球使用最广泛的操作系统之一。Windows系统的开发历史可以追溯到1981年,从最初的DOS操作系统到现在的Windows 10系统,经历了多个版本的更新与完善。Windows系统简单易用,具有强大的兼容性和丰富的软件支持,可以满足用户在不同领域的各种需求。 Windows系统的主要功能包括文件管理、网络连接、多媒体播放、游戏娱乐、办公应用等。Windows系统还提供了大量的系统工具和服务,如磁盘清理、防病毒软件、网络安全等,以保障用户的系统安全和稳定性。 作为国际知名软件品牌,Windows系统一直以来都致力于在用户体验、系统性能和数据安全方面不断提升,目前Windows 10系统已经融入了人工智能和云计算等先进技术,为用户提供更加精准和高效的服务体验。 总之,Windows系统是一款功能强大、易用、安全可靠的操作系统,无论是个人用户还是企业机构,都能够从中受益并实现更好的生产和生活效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值