查看系统版本

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. springboot打包,jar包可以以service方式启动

    <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> ...

  2. JavaScript学习笔记 - 进阶篇(3)- 流程控制语句

    if语句 if语句是基于条件成立才执行相应代码时使用的语句. 语法: if(条件) { 条件成立时执行代码} 注意:if小写,大写字母(IF)会出错! 假设你应聘web前端技术开发岗位,如果你会HTM ...

  3. restful的简单使用

    根据http的不同方法,访问不同路由的相同控制器下的不同方法可以实现restful的使用 分别对应 路由方式 get put delete post 对应操作 获取 更新 删除 添加 其中如果要在非l ...

  4. leetcode腾讯精选练习之除自身以外数组的乘积(十)

    最长公共前缀 题目 给定长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积. ...

  5. Python笔记_第一篇_面向过程_第一部分_5.Python数据类型之字典类型(dict)

    字典!在Python中字典是另一种可变容器模型,可以存储任意类型的对象.是Python存储数据类型的最高级(maybe). 特点:1. 字典的存储方式和其他类型数据略有不同,是通过键(key)和值(v ...

  6. poj1386单词连接(欧拉欧拉欧拉)

    ///单词连接,欧拉回路通路都可以(有向图) ///主要构图:比如possibilities就构造p->s的边////题目大意:给你若干个字符串,一个单词的尾部和一个单词的头部相同那么这两个单词 ...

  7. Spire.doc jar包实现word文件添加水印demo

    /** * @create: 2020-02-23 21:50 */ import com.spire.doc.*; import com.spire.doc.documents.WatermarkL ...

  8. day53-线程池

    #1.from concurrent import futures可以开启进程池和线程池.concurrent是包,futures是模块,ThreadPoolExecutor是类,submit是方法. ...

  9. 系统学习Javaweb11----综合案例1

    学习内容: 1.综合案例-需求说明 2.综合案例-需求分析 3.综合案例-需求实现-网页顶部部分 4.案例-需求实现-网页导航条 5.综合案例-需求实现-网页主体部分 6.综合案例-需求实现-网页主体 ...

  10. Pwn-Gcc编译命令