查看系统版本

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. 1
    2
  1. mkdir -p ~/.ssh/vps
    ssh-keygen -t rsa -C "***@gmail.com" -f ~/.ssh/vps/id_rsa

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

  1. 1
    2
    3
    4
    5
    6
  1. # 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. 1
    2
  1. sudo apt update
    sudo apt install vim

安装 ftp

参考链接

安装:

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

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

  1. 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
  1. # 设置控制连接的监听端口号,默认为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. 1
  1. sudo apt install git

安装 Docker

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

设置存储库:

  1. 1
    2
    3
    4
    5
    6
    7
  1. 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. 1
    2
    3
    4
    5
  1. 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. 1
    2
  1. 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. 1
    2
    3
    4
  1. # 获取镜像
    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. 1
    2
    3
    4
  1. # 获取镜像
    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. 1
    2
    3
    4
    5
    6
  1. # 下载对应版本
    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. mysql慢SQL排查之show processlist和show full processlist

    mysql排查线上数据库问题,经常会用到 show processlist和show full processlist这两条命令 processlist命令的输出结果显示了有哪些线程在运行,不仅可以查 ...

  2. Graph & Tree2

    续https://www.cnblogs.com/tyqtyq/p/9769817.html 0x65 负环 SPFA 当一个节点入队次数到达N的时候,就说明有负环 或者记录最短路包含的路径条数 还有 ...

  3. Python笔记_第一篇_面向过程_第一部分_8.画图工具(小海龟turtle)

    turtle 是一个简单的绘图工具. 提供一个小海龟,可以把它理解为一个机器人,只能听懂有限的命令,且绘图窗口的原点(0,0)在中间,默认海龟的方向是右侧海龟的命令包括三类:运动命令.笔画控制命令.其 ...

  4. LeetCode——376.摆动序列

    如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列.第一个差(如果存在的话)可能是正数或负数.少于两个元素的序列也是摆动序列. 例如, [1,7,4,9,2,5] 是一个摆动序列, ...

  5. c++17 optional 简介

    c++17 的optional 作为返回值,提高异常的处理 对于构造可能失败的对象,似乎在构造函数里抛异常不太合适.所以 首先是使用静态方法来返回对象,在外部申请资源后,再通过传参给构造函数. 这样的 ...

  6. std::string和ctime之间的转换

    int year, month, day, hour, minute, second; string strTime: sscanf(strTime.c_str(), "%d-%d-%d % ...

  7. jumpserver_跳板机实操

    首先,jumpserver是什么呢? Jumpserver 是一款由Python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能.基于ssh协议来管理,客户端无需安装agent. 特点: 完全开 ...

  8. Codeforces Round #598 (Div. 3)E(dp路径转移)

    题:https://codeforces.com/contest/1256/problem/E 题意:给一些值,代表队员的能力值,每组要分3个或3个以上的人,然后有个评价值x=(队里最大值-最小值), ...

  9. 怎么保证RabbitMQ和kafuka集群的高可用性?

    rabbitMQ有三种模式:单机模式,普通集群模式,镜像集群模式 RabbitMQ的高可用性   RabbitMQ是比较有代表性的,因为是基于主从做高可用性的,我们就以他为例子讲解第一种MQ的高可用性 ...

  10. python语法基础-网络编程-HTTP协议

    ###############    HTTP协议    ############## """ 当你在浏览器地址栏敲入“http://www.cnblogs.com/”, ...