优秀的编程知识分享平台

网站首页 > 技术文章 正文

Linux服务器非root权限折腾笔记(linux非root用户重启服务器)

nanyue 2024-08-08 19:07:46 技术文章 17 ℃

摘要:
服务器root权限下折腾服务器,主要包括

  • zsh的安装与配置
  • 服务器端jupyter怎么在本地访问
  • sshfs挂载服务器到本地目录

最近由于工作原因,需要在服务器上进行一些操作,服务器使用的是Ubuntu系统,此为背景。

但是呢,服务器操作可就没有主机这么方便了。

服务器安装zsh指南

首先第一个不方便的地方就是没有root权限。安装软件就不能简单的sudo操作了,那怎么办呢?
答案是:编译源码,然后配置$PATH

下面就来看看有哪些操作吧。

安装zsh

登录到服务器之后,发现使用的是bash,对于一个超喜欢zsh的用户来说,没有zsh怎么行,既然不能sudo。那么就我们自己安装配置吧。
可以参考以下网址:

  • https://www.lingan1996.top/3056.html

SSH登陆远程主机后进入指定目录或执行命令

问题的引发是因为我手贱,在.bashrc中配置了一个错误的命令。然后,神奇的事发生了,每次ssh登录上去之后由于bash执行配置配件出错,在显示完一些基本信息过后,因为解析.bashrc出错,就主动断开了链接。这对我来说简直就是晴天霹雳,为什么?因为我压根连服务器在哪我都不知道啊!!!

然后网上一顿乱搜,发现,其实我们可以在登录服务器之后,在bash解析之前先运行一些指令。

例如:

ssh user@hostname -t 'ls -l; bash --login'

就会在登录后,限制性一下ls -l这条命令。这简直太棒了,因此,我使用了

ssh user@hostname -t 'vim .bashrc'

哈哈,直接修改成功。

最后的总结是:修改关键配置要小心啊,幸好这次没有什么严重的错误,不然登录不上服务器就麻烦了。

jupyter lab

jupyterlab是一个超级好用的编辑器,我最喜欢的地方是他可以在编辑代码的同时,编写markdown。这就好比你边做实验,边写报告,等你实验做完了,报告也写出来了,而且这两个事是在一个页面内实现,有没有很开心。

但是服务器登录之后,发现运行jupyter-lab之后,运行在了http://localhost:8888,这怎么行,我远程访问不到啊。

具体配置,可以看这篇文章。

https://zhuanlan.zhihu.com/p/340249373

随即上网一搜,需要打开端口等操作。但是服务器有防火墙啊,我只有一个ssh端口啊,怎么办?

答案就是ssh端口转发

ssh 端口转发实现本地连接jupyter

ssh -p port -L local_port:the_ip_your_want_to_access:the_port_your_want_to_aceess username:your_server_ip

参数说明:

  • local_port:本地你访问的端口
  • the_ip_your_want_to_access:你想通过服务器访问的IP地址,这里设置成localhost,因为jupyter不就运行在服务器的localhost上嘛
  • the_port_your_want_to_aceess:jupyter运行的端口
    eg:

ssh -p 20022 -L 18888:localhost:8888 username:your_server_ip

这样,你就可以通过本地的浏览器,输入http://localhost:18888/,访问服务器的jupyter了(jupyter运行在服务器的localhost:8888上)

将ipynb转化为其他代码

写好的ipynb怎么分发呢? 一个方式是直接分发ipynb文件。但是万一别人没有这个文件呢? 所有比较传统的方式是分发py文件。怎么做呢?

参考网址为:

  • https://blog.csdn.net/qq_36178962/article/details/115870759

安装插件nbconvert
pip3 install nbconvert
转化代码为

jupyter nbconvert --to script xxx.ipynb

这样就会在当前目录下生成xxx.py的文件,就可以分发了。

主机通过ssh挂载远程服务器目录

但是通过ssh命令行或是sftp等方式访问服务器的文件好麻烦啊,有没有办法直接将服务器文件映射到本地呢?答案当然是sshfs

mac下

Mac 安装 sshfs
mac安装sshfs最简单的方式,通过如下github地址,下载,直接界面安装即可。
https://hub.fastgit.org/osxfuse/osxfuse/releases
https://hub.fastgit.org/osxfuse/sshfs/releases/

命令为:

sshfs -p port name@ip:remote_dir local_dir

windows下

windows下只用依次安装下列三个程序,然后在第三个具有GUI的程序中配置一下,就可登录咯,很是方便。

https://hub.fastgit.org/billziss-gh/winfsp/releases/tag/v1.9
https://hub.fastgit.org/billziss-gh/sshfs-win
GUI:https://hub.fastgit.org/evsar3/sshfs-win-manager

参考链接:

  • https://www.jianshu.com/p/31205b26deff
  • https://www.jianshu.com/p/d79901794e3d
最近发表
标签列表