【Ubuntu24.04】使用服务器

一给  金牌会员 | 2024-12-7 02:06:32 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 854|帖子 854|积分 2562

0 配景

    你是一个开辟者,有自己的测试环境:一个Linux服务器(假设是Ubuntu24.04)。你在自己的计算机上写了代码,打成了jar包,然后准备摆设这个包,开始测试。
    有几种常见环境:
        1. 服务器是你计算机上的虚拟机;
        2. 服务器是你的另一台有体现屏的计算机,比如条记本电脑;
        3. 服务器是你的另一台没有体现屏的计算机,比如一个噪声很大的黑盒子;
        4. 服务器是你另一台计算机上的虚拟机;
        5. 服务器是你在某平台租的云服务器;
    有两个基本问题:
        1. 你怎么将这个包传送到服务器上呢?
        2. 你是直接在服务器上操纵还是通过其他什么方法使用服务器呢?
    为了表述方便,这里约定jar包等文件资源所在的计算机为主机,jar包等文件资源要传送的目的地,即服务摆设的计算机为服务器。
1 将文件传送到服务器

    首先解决最基本的问题,就是两个计算机之间的文件传输问题。有很多工具都可以做到这件事,下面就常见的几种环境总结一下将文件从主机传送到服务器的方法。
    前面会介绍传统的独有传输方式,然后会介绍通用的方式。
1.1 主机上的虚拟机

    你的文件在主机上,你要将其传到主机上的虚拟机中,常见的方法是共享文件夹,共享文件夹的配置和详细的虚拟机软件有关,关于VirtualBox的共享文件夹配置可以参考这篇文章。
    关于虚拟软件传文件的其他的方式不介绍,因为效率和稳定性大概不如共享文件夹(笔者以前实验过直接拖放文件效果把电脑直接搞蓝屏了),有心理阴影以是不做介绍。
1.2 另一台独立的计算机(包括上面的虚拟机)

    假如只是主机中的虚拟机,那么传文件是很方便的,假如是另一台独立的计算机呢?比如条记本电脑。最原始的方法是使用传输介质,比如U盘。
    当然,假如是另一台计算机上的虚拟机的话,和主机上的虚拟机类似,因为一样平常不会在Linux系统里装虚拟机,能有虚拟机的计算机,一样平常是可以直接上手操纵的Windows系统。
1.3 远程文件传输

    这是一种通用的文件传输方式,当然,这一样平常是必要网络支持的。这种方式不管主机和服务器是什么计算机,不管操纵系统,也不论可不可以打仗到,只要计算机上有相应的工具,支持网络协议即可。
1.3.1 scp

    系统自带的文件传输工具,不论是Windows还是Ubuntu系统,以是只必要在命令行输入即可,在Windows中打开cmd就可以直接使用:
  1. # 传输多个文件
  2. scp file1 file2 user@server:/path/to/dest
  3. # 传输文件夹,注意不能直接写文件夹的名字,会出现 is not a regular file 的错误
  4. scp dir/* user@server:/path/to/dir
  5. # 目的文件夹可以不存在,但目的文件夹的父路径一定要存在,不然会出现 No such file or directory 的错误
  6. # 示例
  7. scp xxx.jar username@192.168.11.12:~/tmp
  8. # 执行命令之后会让你输入另一台计算机的密码,输入即可
复制代码
    不过,假如是主机上的虚拟机的话,必要让虚拟机使用桥接网卡成为一台“独立”的计算机才行,假如是网络地点转换(NAT)的话,首先虚拟机的IP地点就很奇怪(10.0.2.15),而且连不上。然而假如确实必要在虚拟机为网络地点转换(NAT)时给它传文件,该怎么办呢?
    这个时间必要手动设置一下虚拟机的端口转发,然后在使用scp的时间指定端口即可。
    首先打开对应虚拟机的设置,然后找到“网络”

    然后在网络地点转换(NAT)模式下,点击“端口转发”,然后点击右上角的加号图标,添加端口转发规则:

    随便写一个主机端口,然后看一下虚拟机的IP地点,VirtualBox中的虚拟机在网络地点转换(NAT)下的默认IP是10.0.2.15,子系统端口填22,得先在虚拟机中装一个openssh-server。
    然后在scp命令中使用-P指定配置的主机端标语即可,注意是大写的P
  1. scp -P 1234 xxx.jar username@localhost:~/tmp
  2. # 然后会让你输入username@localhost的密码,也是虚拟机的密码
复制代码
    还有别的类似的命令行文件传输工具,但是实际上这个命令已经够用了,只要能够连接到另一台计算机即可传输文件。命令行的传输方式一样平常不用,除非特殊环境(比如从一个node传文件到另一个node),以是必要专业的工具,这个之后介绍。
    假如某天你将你的虚拟机删除重新安装了,不过在配置端口转发的时间还是使用的上一次的1234,这个时间大概会出现下面的错误信息:

    由于端口转发只针对某一台虚拟电脑设置,你把虚拟电脑删了之后,端口转发的设置随之消散,以是你重新安装虚拟机的时间,还必要重新设置。不过在你的宿主机上还留存着该虚拟机的信息,它并不会主动删除,必要你打开详细的文件手动删除即可。文件的路径在错误信息里已经有提示了,注意用户名不一定是管理员Administrator,文件名为known_hosts,将其用文本编辑器打开后,删除对应的信息即可。比如:

    将这些删除即可。
2 操纵服务器

    光传文件还不够,还得能够操纵服务器才行,假如是能够打仗到的服务器,直接去操纵它也不是不行,但有时间大概因为服务器自己的界面太丑大概是因为懒得在两台计算机之间往返切换(一会儿操纵这个计算机,一会儿操纵那个计算机),以是想有一个漂亮且方便的方式。
    能直接操纵服务器还好,有时间界面丑点也能忍,但是有些服务器是不能“直接”操纵的,比如云服务器,它只会提供给你一个终端命令行操纵,不过这个命令行感觉也不太方便。
    产生上述问题的缘故原由只是人类难以忍受某种事物而产生的一种优化的想法。比如有人会因为不想洗碗以是干脆不做饭。
    那么怎样解决这个问题呢?使用专业的远程连接工具即可。下面介绍一个强大的命令行工具以及一个既美观又方便的图形化工具。
2.1 ssh

    SSH(Secure Shell)是一种网络协议,用于在不安全的网络中安全地远程登录到另一台计算机。它通过加密通信来保护数据的机密性和完整性,防止中间人攻击、窃听和数据篡改。SSH 不仅用于远程登录,还广泛用于远程命令执行、文件传输(通过 SCP 或 SFTP)(这是上面scp命令要22端口的理由)、端口转发等。
    要使用ssh命令得先安装openssh,这个安装比力简朴,这里不介绍。安装好并开启22端口之后,直接执行
  1. ssh username@server
  2. # 比如
  3. ssh user1@192.168.11.12
  4. ssh node3
复制代码
然后输入密码即可。
    这样就可以直接连接到服务器的命令行,从而可以操纵服务器了。
2.2 Termius

    我第一次使用的图形化ssh工具是XShell,当时不知道还有哪些别的的ssh工具,以是以为很好用(也确实好用),没有在意好欠好看。不过厥后下载的时间好像要登录什么的,以致收费,以为贫苦就没有用了。
    然后我使用开源的WindTerm作为替代,这是我在网上文章中看到的,文章介绍了很多开源工具,不过界面都不如WindTerm好看。这款软件的好处就在于解压即用,不用安装,界面也比力好看,我也是喜好了一阵子。不过有时间用clear命令然后回车,刚清的屏又返来了,而且界面的结构稍微有些复杂,有点把全部的窗口都汇聚到一个界面的意味,不过好多都没用,反而显得累赘了。
    然后我打仗了Termius,就喜好上了,这款软件正常来讲是收费的,不过作为Starter使用的话免费,其实只是用来传文件大概连接其他计算机的话,免费版也够用了。必要使用邮箱注册,不过界面美观大方,注册就注册吧,界面是全英文的,大概不是对全部人都友爱,但是不会影响使用。
    下面介绍一下怎样安装使用
2.2.1 下载

    下载方式常用的有两种,一种是从浏览器官网下载,一种是Microsoft Store下载,两种方式有个区别就是图标是方的还是圆的。
2.2.2 安装

    直接运行安装程序即可。
2.2.3 使用

    常用的功能就是SFTP传输文件以及ssh连接远程主机。

    SFTP可以在恣意两个计算机之间传输文件

    由于这个功能只能选择已经保存的Host和Local,以是要先新建Host


    然而这些并不是我喜好它的缘故原由,缘故原由是它有很多主题和字体可以选择,双击保存的Hosts即可开始ssh连接,连接上之后可以切换主题和字体(在创建的时间就可以指定主题),这样以致可以一个连接一个主题,再也不是单调的黑和白,字体也可以放大缩小和切换。


    有很多主题可供选择,不止截图中的那些,笔者偏向于使用Solarized Light主题和PT Mono字体。
2.2.4 小结

    上述只是基本的使用,不过对于笔者来说已经够用,有兴趣的可以继承探索。但是在官网下载安装的Termius在一段时间之后会自动消散(听说是自己把自己卸载了。。。),虽然这是一个bug,但是奈何它的使用体验比别的的更好。。这是笔者的亲身履历,以是平常做好一定的备份很紧张,推荐在Microsoft Store安装(不过这个图标是方的)。
    假如有些远程计算机不能用Termius的SFTP功能传输文件,那么还有一个专门用于传输文件的图形化工具:WinSCP,虽然界面看起来比力老,不过是中文版的,而且传输文件感觉还行。
3 总结

    这篇博客主要介绍了怎么远程连接另一台计算机以及传输文件等,并记载了一些关于虚拟机的特殊环境(虚拟机软件太多了只用VirtualBox举例),最后用一个图形化ssh连接工具Termius解决了开头提出的两个基本问题。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

一给

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表