查看系统版本

cat /etc/os-release

修改 root 密码

passwd

新建用户

新建用户:

adduser username

将新用户加入 sudo 组,这样就可以用 sudo 命令了:

gpasswd sudo -a username

若不执行此操作,执行 sudo 命令时,会提示 username is not in the sudoers file. This incident will be reported.

更改 ssh 默认端口

sudo vi /etc/ssh/sshd_config ,修改 Port 自定义端口号,之后重启 ssh 服务:sudo systemctl restart sshd.service ,根据自己需要看是否禁止 root 用户登录,修改配置文件:PermitRootLogin no,之后重启 ssh 服务。

ssh 免密登陆

本机生成密钥:

1
2
mkdir -p ~/.ssh/vps
ssh-keygen -t rsa -C "***@gmail.com" -f ~/.ssh/vps/id_rsa

config 文件配置,在 ~/.ssh/ 下新建 config 文件, vi config :

1
2
3
4
5
6
# vps configuration
Host vps
HostName ***.***.***.***
Port ***
IdentityFile ~/.ssh/vps/id_rsa
User ***

本机登陆 vps, 需要输入密码:

ssh vps

创建 .ssh 目录:

cd ~;mkdir .ssh

本机将公钥拷贝至 vps 的用户的 .ssh 目录下, 需要输入密码:

scp id_rsa.pub vps:~/.ssh/authorized_keys

修改 vps 上 authorized_keys 文件权限:

chmod 600 authorized_keys

之后可实现本机免密登陆 vps。

安装 vim

1
2
sudo apt update
sudo apt install vim

安装 ftp

参考链接

安装:

1
2
3
4
5
6
sudo apt install ftp
sudo apt install vsftpd sudo netstat -npltu | grep 21
# 登录
ftp localhost

修改配置文件 /etc/vsftpd.conf:

1
2
3
4
5
6
7
8
9
10
# 设置控制连接的监听端口号,默认为21
listen_port=<port>
# 是否开放本地用户的写权限
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
# 限制一切用户登录,只允许列表文件中的用户,用 userlist_file
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.user_list

创建 /etc/vsftpd.user_list,写入只允许登录的用户名。

启动服务:

sudo service vsftpd start

安装 git

1
sudo apt install git

安装 Docker

大专栏  初入 Ubuntu 的一些操作 · Lei's blog>Docker 官方安装教程

设置存储库:

1
2
3
4
5
6
7
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
# Add Docker’s official GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

安装 DOCKER CE:

1
2
3
4
5
sudo apt update
# Install the latest version of Docker CE
sudo apt install docker-ce
# Verify that Docker CE is installed correctly by running the hello-world image.
sudo docker run hello-world

启动 Docker CE:

1
2
sudo systemctl enable docker 
sudo systemctl start docker

建立 docker 用户组:

默认情况下,docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。因此,更好地做法是将需要使用 docker 的用户加入 docker 用户组。

建立 docker 组:

sudo groupadd docker

将当前用户加入 docker 组:

sudo usermod -aG docker $USER

搭建 shadowsocks

Docker Hub 下载自己建立的镜像。

1
2
3
4
# 获取镜像
docker pull zhanglei12345/shadowsocks-libev
# 启动容器
docker run --restart=always -d -p hostPort:containerPort zhanglei12345/shadowsocks-libev:latest -s 0.0.0.0 -p containerPort -k mypassword -m aes-256-cfb

搭建 shadowsocksr

Docker Hub 下载自己建立的镜像。

1
2
3
4
# 获取镜像
docker pull zhanglei12345/shadowsocksr
# 启动容器
docker run --restart=always -d -p hostPort:containerPort zhanglei12345/shadowsocksr:latest -p containerPort -k mypassword -m aes-256-cfb -O auth_sha1_v4 -o http_simple

安装 Docker Compose

Releases · docker/compose · GitHub

1
2
3
4
5
6
# 下载对应版本
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 赋执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 检查版本号
docker-compose --version

初入 Ubuntu 的一些操作 · Lei's blog的更多相关文章

  1. 初入ubuntu

    登入root :su root 安装 vim: sudo apt-get install vim 安装 gcc(g++):sudo apt-get install gcc(g++) 非常实用的修改分辨 ...

  2. 初入android驱动开发之字符设备(一)

    大学毕业,初入公司,招进去的是android驱动开发工程师的岗位,那时候刚进去,首先学到的就是如何搭建kernel.android的编译环境,然后就是了解如何刷设备以及一些最基本的工具.如adb.fa ...

  3. 初学HTML5、初入前端

    学习HTML5是一个漫长的过程,当中会遇到很多技术与心态上的变化.刚开始学习,我们不能发力过猛,需要一个相对稳定的状态去面对.多关注一些自己感兴趣的网站和技术知识,建立自己的信心与好奇心,为以后的学习 ...

  4. 【Xbox one S】开箱&开机&初入坑心得

    再来一发水贴,先上产品标准照镇贴: 前言 身为一个资深单机游戏玩家,常年混迹在PC平台,但内心深处一直对主机有种迷之向往,感觉那才是单机游戏的正处之地,坐沙发上拿着手柄对着电视跌宕起伏才是正确的游戏姿 ...

  5. Git初入

    Git记录 使用git 也有一段时间了, git的入门级了解也就不再多说, 但平常使用中, 仍然会遇到很多问题, 在此记录一二. 在查资料的过程中, 发现了两个比较好的资料: 特别是第二个, 相当详细 ...

  6. 初入爬虫(java)

    public class CrawlerUtil { public static void main(String [] args) throws IOException { // 创建默认的http ...

  7. 初入码田--ASP.NET MVC4 Web应用开发之二 实现简单的增删改查

    初入码田--ASP.NET MVC4 Web应用之创建一个空白的MVC应用程序 初入码田--ASP.NET MVC4 Web应用开发之一 实现简单的登录 2016-07-29  一.创建M002Adm ...

  8. 初入SG-UAP

    初入SG-UAP SpriderMan 关注 2019.06.19 14:10 字数 1130 阅读 10评论 0喜欢 0 初次接触SG-UAP,将自己的见解以文字形式记录下来,希望能对初入的伙伴们有 ...

  9. Scala初入

    何为Scala物 Scala为基于JVM虚拟机中的面向对象与函数式编程思想并且完全兼容Java的混合编程语言,可以是Scala与Java是同根同源的,既然Scala与JAVA都是基于JVM之上的编程语 ...

随机推荐

  1. nginx中server块的匹配顺序

    客户端发出一个http请求时,nginx收到后会取出header头中的host,与nginx.conf中每个server的server_name进行匹配,以此决定到底由哪一个server块来处理这个请 ...

  2. vim编辑模式下黑色背景,下来过程中出现白条的问题

    问题描述,原本是黑色背景,但是下拉过程中没有文字的地方会变成白色,非常影响美观,搞了好久现在中与改好了.问题如图: 打开-/.vimrc 文件,在如图所示位置加上62-64行代码即可.root用户的添 ...

  3. 如何优雅的设计APP页面?

    页面框架设计只是整个产品设计中的一环,不要把眼界局限在这一环,也不要只站需求.只站在交互.只站在视觉上思考问题,从多个角度看问题,你才会学会成长. 产品设计是一个系统工程,单独拧出来其中一个流程来讲, ...

  4. Python——课程数据统计分析

    介绍 在该章节中我们将利用提供的课程数据来进行一次实战性质的时间序列和聚类分析. 知识点 数据处理 数据可视化 中文分词 文本聚类 数据概览 本次课程的数据来源于运行过程中产生的真实数据,我们对部分数 ...

  5. 35)类和结构体类比---this

    那么,为啥  Test a(10)  , Test  b(20)   然后  我a.getI()  取到的是10,而不是20     就能将那个  10  给  a  对象的  m1    是因为有 ...

  6. More 'long-life' plastic bags being used

    1 1.1 roll out v. 推广,或实行 1.2 pilot v. 试行 n. 飞行员 1.3 bags for life 可重复使用的环保购物袋 2 2.1 How many times a ...

  7. cmake target_link_libraries() 中<PUBLIC|PRIVATE|INTERFACE> 的区别

    如果目标的头文件中包含了依赖的头文件(源文件间接包含),那么这里就是PUBLIC 如果目标仅源文件中包含了依赖的头文件,那么这里就是PRIVATE 如果目标的头文件包含依赖,但源文件未包含,那么这里就 ...

  8. Opencv笔记(九)——图像阈值

    学习目标: 学习简单阈值,自适应阈值,Otsu's 二值化等 学习函数cv2.threshold,cv2.adaptiveThreshold 等. 一.简单阈值 与名字一样,这种方法非常简单.但像素值 ...

  9. Educational Codeforces Round 68 差G

    Educational Codeforces Round 68 E 题意:有 n 个线段,每个都是平行 x 或者 y 轴,只有互相垂直的两线段才会相交.问形成了多少个矩形. \(n \le 5000, ...

  10. nginx限制IP访问网站

    需求:网站只允许指定IP访问,其他访问一律拒绝server { listen 80; server_name a.com; index index.html index.htm index.php; ...