1.SSH
1.1什么是SSH?
SSH全称Secure Shell,中文翻译为安全外壳,它是一种网络安全协议,通过加密和认证机制实现安全的访问和文件传输等业务。SSH 协议通过对网络数据进行加密和验证,在不安全的网络环境中提供了安全的网络服务。
SSH 是(C/S架构)由服务器和客户端组成,为建立安全的 SSH 通道,双方需要先建立 TCP 连接,然后协商使用的版本号和各类算法,并生成相同的会话密钥用于后续的对称加密。在完成用户认证后,双方即可建立会话进行数据交互。
1.2使用VScode进行SSH远程连接
SSH远程链接可以使用SSH远程连接软件,例如:Windterm、Xterminal等。这里使用VScode进行远程连接,使用VScode的好处是,本身它就是代码编辑器,进行代码修改等操作时会非常方便。
如果要在VScode中进行远程连接,需要在VScode上安装Remote-SSH插件,点击侧边扩展栏,在搜索框中输入SSH,找到Remote-SSH安装即可
安装完成插件以后,点击侧边栏的远程连接图标,在SSH中点击“+”按钮,添加开发机SSH连接的登录命令。我们将登录命令复制下来,然后将命令粘贴到弹出的窗口中,最后回车。然后在右下角弹出来的提示窗口中点击“连接”就可以远程到开发机中了。
1.3使用SSH远程连接的两种方法
1.3.1使用密码进行SSH远程连接
当完成开发机的创建以后,需要打开自己电脑的powerShell终端,使用Win+R快捷键打开运行框,输入powerShell,打开powerShell终端。(如果你是Linux或者Mac操作系统,下面的步骤都是一样的)
回到开发机平台,进入开发机页面找到我们创建的开发机,点击SSH连接,然后复制登录命令,这里的37367是开发机所使用的SSH端口,一般使用的都是22端口。
将复制的命令粘贴到powershell中,然后回车,这里我们需要输入密码,我们将登录命令下面的密码复制下来,然后粘贴到终端中,这里密码粘贴密码是不显示的,这是正常的。
1.3.2配置SSH密钥进行SSH远程连接
但是在我们开发学习的时候,每次远程都输入密码比较麻烦,我们可以设置SSH key来跳过输入密码这一步骤,在ssh命令中我们可以使用ssh-keygen命令来生成密钥.
ssh-keygen支持RSA和DSA两种认证密钥。
这里我们使用RSA算法生成密钥,命令为
ssh-keygen -t rsa
输入命令后一路回车就可以了,这里的密钥默认情况下是生成在~/.ssh/
目录下的,~
表示的是家目录,如果是windows就是C:\Users\{your_username}\
。在powerShell中可以使用Get-Content
命令查看生成的密钥,如果是linux操作系统可以使用cat
命令。
2.端口映射
2.1什么是端口映射?
端口映射是一种网络技术,它可以将外网中的任意端口映射到内网中的相应端口,实现内网与外网之间的通信。通过端口映射,可以在外网访问内网中的服务或应用,实现跨越网络的便捷通信。
2.2运行hello_world.py
当运行一个web demo的时候,就可以使用这个命令进行端口映射,举个例子:
我们创建一个hello_world.py文件,在文件中填入以下内容:
运行hello_world.py: