V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
samin
V2EX  ›  程序员

当我拿到一台全新 Linux 服务器我会做什么

  •  
  •   samin · 2023-02-07 11:22:45 +08:00 · 12879 次点击
    这是一个创建于 655 天前的主题,其中的信息可能已经有所发展或是发生改变。
    1. 修改网卡配置为固定 ip
    2. 安装 openssh-server 并打开 root 远程访问配置
    3. 安装 oh-my-zsh 配置主题,安装自动补全、语法高亮插件
    4. 修改 vim 配置,增加行数显示
    5. 安装 docker 环境,增加 docker-compose 插件

    各位还会干些啥

    via blog

    113 条回复    2023-02-08 11:31:36 +08:00
    1  2  
    opentrade
        1
    opentrade  
       2023-02-07 11:31:42 +08:00
    vim
    nrtEBH
        2
    nrtEBH  
       2023-02-07 11:33:08 +08:00   ❤️ 4
    alias vi = ‘vim’
    kaiki
        3
    kaiki  
       2023-02-07 11:36:16 +08:00   ❤️ 10
    比如把 IP 发到 V 站做个压测?
    loading
        4
    loading  
       2023-02-07 11:39:07 +08:00
    如果是局域网,那么我会装上 avahi ,这样我可以用 $hostname.local 域名直接访问
    xyjincan
        5
    xyjincan  
       2023-02-07 11:39:24 +08:00   ❤️ 6
    把 ssh 公钥加进去,关闭密码访问
    AoEiuV020CN
        6
    AoEiuV020CN  
       2023-02-07 11:39:26 +08:00   ❤️ 1
    我会有个记事本记录新服务器准备工作和用到的命令,每次都复制粘贴运行,
    hostnamectl,
    locale-gen,
    useradd,
    install git curl,
    获取 bash 和 vim 之类配置文件,
    ssh authorized_keys,
    clash,
    mutt smtp, 服务器报警发邮件到个人邮箱,
    mount webdav 获取我的 Let’s Encrypt https 证书,
    1423
        7
    1423  
       2023-02-07 11:40:18 +08:00   ❤️ 2
    DHCP DNS 先搞清楚,最好配置 DOH ,min ttl 限制
    yabs 等全家桶脚本跑一遍,性能,网速,区域解锁,黑名单心里有数
    看看邻居都是干啥的,心里有数
    zerotier 等一堆 apt install
    debuggerx
        8
    debuggerx  
       2023-02-07 11:45:43 +08:00
    sudo apt install vim htop avahi-daemon

    1~3 三条不会做
    anonymous2351d00
        9
    anonymous2351d00  
       2023-02-07 11:47:46 +08:00   ❤️ 2
    poweroff
    SgtPepper
        10
    SgtPepper  
       2023-02-07 11:49:04 +08:00
    上 v2 问
    totoro625
        11
    totoro625  
       2023-02-07 11:51:07 +08:00   ❤️ 3
    1 、开启 root 登录
    2 、拉取公钥并禁用密码登录
    3 、安装 docker 、nano 、screen 、htop 、rclone
    4 、配置 crontab 定期拉取 OSS 配置文件
    5 、docker 安装 SS\FRP\tailscale\zerotier\watchtower
    6 、配置域名
    Dk2014
        12
    Dk2014  
       2023-02-07 11:52:18 +08:00 via Android
    sudo rm -rf /
    reboot
    Chaconne
        13
    Chaconne  
       2023-02-07 11:56:08 +08:00 via iPhone
    我是先搭个 v2ray 飞机场
    beyondsoft
        14
    beyondsoft  
       2023-02-07 12:01:40 +08:00
    首先当然是看看机器的配置
    free -g
    lsblk -T
    lscpu
    icyalala
        15
    icyalala  
       2023-02-07 12:03:28 +08:00
    sudo apt/yum install sl
    sl
    boris1993Jr
        16
    boris1993Jr  
       2023-02-07 12:06:41 +08:00 via iPhone   ❤️ 1
    添加 ssh 公钥,禁止密码登录
    装 docker ,装 portainer agent ,连上 portainer 主控机
    docker 装 tailscale
    hgc81538
        17
    hgc81538  
       2023-02-07 12:08:47 +08:00 via iPhone   ❤️ 1
    1. 更改時區,並確認 ntp 生效
    2. 打補丁
    3. Reboot
    mrgeneral
        18
    mrgeneral  
       2023-02-07 12:19:14 +08:00
    反了呀,先有目的才有行为,我有台机器只装了 docker ,vim 都没,因为自带的是 vi 。
    anubu
        19
    anubu  
       2023-02-07 12:26:02 +08:00
    自己内网的话只做 1 、2 、5.

    - 借助内网 DHCP 和 DNS ,放弃人脑 IPAM ,固定 IP 可以不做了,hostnamectl 加 dhcp ,主机名访问
    - docker remote api 加 docker context ,基本上没有在 Linux 主机本地文本编辑的需求了,默认 vi 凑合够用了
    cjpjxjx
        20
    cjpjxjx  
       2023-02-07 12:26:14 +08:00 via iPhone
    update
    duke807
        21
    duke807  
       2023-02-07 12:31:08 +08:00 via Android
    改装 gentoo
    jimmy980352
        22
    jimmy980352  
       2023-02-07 12:33:26 +08:00
    更新、修改 ssh 、docker
    miv
        23
    miv  
       2023-02-07 12:34:41 +08:00 via iPhone   ❤️ 1
    安装一个 sl ,跑一下
    iLoveSS
        24
    iLoveSS  
       2023-02-07 12:36:17 +08:00
    @miv sl is short for ..?
    miv
        25
    miv  
       2023-02-07 12:37:15 +08:00 via iPhone
    @iLoveSS 就是一个跑火车的命令,玩玩
    jasonyang9
        26
    jasonyang9  
       2023-02-07 12:44:24 +08:00 via Android
    配置好 ssh 密钥后 ansible 一把梭😀
    zooo
        27
    zooo  
       2023-02-07 12:46:00 +08:00
    你会在 V2EX 发个帖子
    limi58
        28
    limi58  
       2023-02-07 12:46:23 +08:00   ❤️ 1
    第一个应该是安装 tmux
    oneisall8955
        29
    oneisall8955  
       2023-02-07 12:50:48 +08:00 via Android
    @iLoveSS 小火车,有点意思
    lovelylain
        30
    lovelylain  
       2023-02-07 12:52:13 +08:00 via Android
    修改 ssh ,安装 docker ,把常用 ubuntu 容器打包在新机器上运行
    ccagml
        31
    ccagml  
       2023-02-07 12:55:10 +08:00 via Android
    跑个测速脚本
    liuxianzhuo
        32
    liuxianzhuo  
       2023-02-07 13:10:19 +08:00 via Android   ❤️ 13
    开 ssh ,让 @defunct9 上去看看
    baobao1270
        33
    baobao1270  
       2023-02-07 13:11:51 +08:00
    Server Install SOP (Ubuntu)

    sudo apt update
    sudo apt upgrade -y
    sudo apt install -y ufw git zip unzip python3-venv python3-pip bash-completion vim sudo curl wget tree iftop iotop bpytop ufw
    mkdir -p ~/.ssh

    curl https://github.com/baobao1270.keys -o ~/.ssh/authorized_keys
    sudo sed -i "/^#HostKey/s/^#//g" /etc/ssh/sshd_config
    sudo sed -i "/^#ListenAddress 0.0.0.0/s/^#//g" /etc/ssh/sshd_config
    sudo sed -i "/^#PubkeyAuthentication yes/s/^#//g" /etc/ssh/sshd_config
    sudo sed -i "s/^#PasswordAuthentication yes$/PasswordAuthentication no/g" /etc/ssh/sshd_config

    sudo sed -i "/^#force_color_prompt=yes/s/^#//g" /etc/skel/.bashrc
    cp /etc/skel/.bashrc ~/
    sudo cp /etc/skel/.bashrc /root

    echo 'net.ipv6.conf.default.disable_ipv6 = 1' | sudo tee -a /etc/sysctl.conf
    echo 'net.ipv6.conf.all.disable_ipv6 = 1' | sudo tee -a /etc/sysctl.conf
    echo 'net.ipv6.conf.lo.disable_ipv6 = 1' | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
    sudo sed -i "s/^IPV6=yes$/IPV6=no/g" /etc/default/ufw
    sudo ufw allow openssh
    sudo ufw enable
    Makoto
        34
    Makoto  
       2023-02-07 13:13:30 +08:00
    安装一个 nox 版本 emacs,配置一下,然后该干嘛干嘛
    abc0123xyz
        35
    abc0123xyz  
       2023-02-07 13:15:48 +08:00
    安装 360 ,电脑管家,金山毒霸( dog )
    ltruntu
        36
    ltruntu  
       2023-02-07 13:21:05 +08:00
    这不装个 360 ? 要不然不安全 要么 rrm -rf / (多打个 r 防止新手)
    Tink
        37
    Tink  
       2023-02-07 13:21:37 +08:00
    rm -rf / 测试磁盘性能
    yulgang
        38
    yulgang  
       2023-02-07 13:22:42 +08:00
    share 一下密码,让我来告诉你我会干什么 🐶
    chioplkijhman
        39
    chioplkijhman  
       2023-02-07 13:24:04 +08:00
    yulgang
        40
    yulgang  
       2023-02-07 13:24:36 +08:00
    如果你是新手,dd 备份一下。
    1 、2 、3 、4 、5 都不会做
    iGuChin
        41
    iGuChin  
       2023-02-07 13:28:49 +08:00
    @1423 yabs 全家桶脚本是什么?
    iGuChin
        42
    iGuChin  
       2023-02-07 13:29:23 +08:00
    @totoro625 docker 安装 SS\FRP\tailscale\zerotier\watchtower, 出个教程呗
    zjsxwc
        43
    zjsxwc  
       2023-02-07 13:29:24 +08:00
    rm -rf /
    licoycn
        44
    licoycn  
       2023-02-07 13:37:33 +08:00
    alias ll='ls -ahl'
    40kecedwixyCdM81
        45
    40kecedwixyCdM81  
       2023-02-07 13:41:53 +08:00
    先把公钥丢进去,再装个 zsh+oh my zsh 改个主题
    totoro625
        46
    totoro625  
       2023-02-07 13:41:59 +08:00
    @iGuChin #42 docker run 没啥教程的,跑起来就行
    liberty1900
        47
    liberty1900  
       2023-02-07 13:43:24 +08:00   ❤️ 1
    gearfox
        48
    gearfox  
       2023-02-07 13:48:46 +08:00
    @Dk2014 一点都不好笑
    zjj19950716
        49
    zjj19950716  
       2023-02-07 13:49:39 +08:00
    ls
    XiaoWangZhanzz
        50
    XiaoWangZhanzz  
       2023-02-07 13:57:46 +08:00
    拿去看看市场价格
    dobelee
        51
    dobelee  
       2023-02-07 14:00:08 +08:00
    装个探针,等到期系统回收。
    hefish
        52
    hefish  
       2023-02-07 14:03:41 +08:00   ❤️ 1
    rm -rf /
    cslive
        53
    cslive  
       2023-02-07 14:09:01 +08:00
    apt update
    apt upgrade
    tianshunovel2
        54
    tianshunovel2  
       2023-02-07 14:18:20 +08:00 via Android
    装个 bt
    bitkuang8
        55
    bitkuang8  
       2023-02-07 14:26:34 +08:00
    @Dk2014 大佬,执行完第一条,执行第二条就出错了
    Traceback (most recent call last):
    File "/usr/lib/command-not-found", line 28, in <module>
    from CommandNotFound import CommandNotFound
    File "/usr/lib/python3/dist-packages/CommandNotFound/CommandNotFound.py", line 19, in <module>
    from CommandNotFound.db.db import SqliteDatabase
    File "/usr/lib/python3/dist-packages/CommandNotFound/db/db.py", line 6, in <module>
    apt_pkg.init()
    apt_pkg.Error: W:Unable to read /etc/apt/apt.conf.d/ - DirectoryExists (2: No such file or directory), E:Error reading the CPU table
    bjfane
        56
    bjfane  
       2023-02-07 14:36:31 +08:00
    服务器上 没装 oh my zsh
    lessMonologue
        58
    lessMonologue  
       2023-02-07 14:55:12 +08:00
    问下各位大佬,由于 centos7 不支持 nvim-0.8 版本,怎么快速使用 nvim ?
    Contextualist
        59
    Contextualist  
       2023-02-07 15:28:45 +08:00
    @lessMonologue 我 centos7 + glibc 1.17 可以跑官方的 AppImage 。刚出 0.8.0 时因为 GitHub Actions 他们一度去掉了对旧 glibc 的支持,后来又加回来了。
    worldquant
        60
    worldquant  
       2023-02-07 15:30:57 +08:00
    先测试下 vps 性能
    PlayByMyself
        61
    PlayByMyself  
       2023-02-07 15:42:42 +08:00
    curl -sSf https://dotfiles.yejun.me/install.sh | bash -s -- server
    flush9f
        62
    flush9f  
       2023-02-07 15:51:23 +08:00
    在路由器上绑定 MAC ,然后设置 DHCP 分配固定 IP ,然后开 ssh 加公钥,再开个无密码 su 。
    wagsoft
        63
    wagsoft  
       2023-02-07 15:57:16 +08:00
    为什么要用 linux
    liubaicai
        64
    liubaicai  
       2023-02-07 16:00:41 +08:00   ❤️ 1
    alias cd = ‘rm -rf’
    Zy143L
        65
    Zy143L  
       2023-02-07 16:01:43 +08:00 via Android
    先 d 一遍镜像
    ltkun
        66
    ltkun  
       2023-02-07 16:05:27 +08:00 via Android
    干嘛要 root 远程 普通用户上去 sudo 不更合适点
    我会安装 screen 或者 tmux 这种 下次登录还可以继续 没有 nano 就安一个 vi 用着不习惯 其他看服务器要了干嘛再做打算
    billytom
        67
    billytom  
       2023-02-07 16:10:51 +08:00
    @ltkun 想请教下,如果改用其它用户登陆再 su ,然后 path 都没有了,连运行个 reboot 都要 /sbin/reboot ,这里是有什么窍门吗?(如果开机直接设 root 账号登陆就不会有这样的问题)。而如果设置了其它用户,哪怕后来在 sshd 里改运行 root 登陆,一样会出现 path 不完整
    waltcow
        68
    waltcow  
       2023-02-07 16:15:10 +08:00
    df -h
    Longerrrr
        69
    Longerrrr  
       2023-02-07 16:51:40 +08:00
    dotbot install!
    MoeMoesakura
        70
    MoeMoesakura  
       2023-02-07 17:05:35 +08:00
    @kaiki 这种事还是 hostloc 的 mjj 干的多
    MoeMoesakura
        71
    MoeMoesakura  
       2023-02-07 17:06:55 +08:00
    Ubuntu 的话先删 snap 比较清爽
    shellic
        72
    shellic  
       2023-02-07 17:23:56 +08:00
    那必然是禁用密码登录
    gxjares
        73
    gxjares  
       2023-02-07 17:30:32 +08:00
    neofetch
    woshinide300yuan
        74
    woshinide300yuan  
       2023-02-07 17:56:12 +08:00
    锁全部端口访问,然后打开宝塔官网
    newmlp
        75
    newmlp  
       2023-02-07 18:06:20 +08:00
    重装成 Windows 打游戏
    LXGMAX
        76
    LXGMAX  
       2023-02-07 18:17:22 +08:00
    用脚本测网速
    测本地电脑到它的延迟
    encro
        77
    encro  
       2023-02-07 18:26:38 +08:00
    没有人格式化,装 windows
    kmvvv
        78
    kmvvv  
       2023-02-07 18:42:15 +08:00
    替换 ls 安装 exa
    cktsun
        79
    cktsun  
       2023-02-07 19:45:07 +08:00 via Android
    更改 mirror, sudo apt-get update, sudo apt-get upgrade -y
    javlib
        80
    javlib  
       2023-02-07 19:49:55 +08:00
    第二条是不是搞错了,应该是禁止 root 远程登录吧?
    lzuntalented
        81
    lzuntalented  
       2023-02-07 19:59:34 +08:00
    先把 apt 源切换到清华镜像,不然没法安装软件,墙好厚
    leavelet
        82
    leavelet  
       2023-02-07 20:34:37 +08:00
    @lzuntalented 确实,我一般切北大源,清华源最近太挤了
    yaott2020
        83
    yaott2020  
       2023-02-07 20:38:18 +08:00 via Android
    apt update
    apt install sudo
    sudo passwd
    Maysec
        84
    Maysec  
       2023-02-07 20:38:34 +08:00
    问我学长该干嘛 @outtime
    HelloAmadeus
        85
    HelloAmadeus  
       2023-02-07 21:11:25 +08:00
    先把 shell 体验提升一下
    https://github.com/hanke0/dotfiles
    lin07hui
        86
    lin07hui  
       2023-02-07 21:13:00 +08:00
    服务器的 ssh 添加电脑 ssh key 。电脑 vs code Remote 添加服务器配置,点“在新窗口链接...”
    imv2er
        87
    imv2er  
       2023-02-07 21:20:26 +08:00
    装个 windows
    ltkun
        88
    ltkun  
       2023-02-07 21:36:41 +08:00 via Android
    @billytom 直接 bashrc 里面把 path 都设置好 建议加入 wheel 组 sudo 一般也不用 su
    angelface
        89
    angelface  
       2023-02-07 21:43:09 +08:00
    omz 还是不太建议。
    先把 cer 登录搞上。
    timothyye
        90
    timothyye  
       2023-02-07 21:51:14 +08:00 via Android
    sudo shutdown -h now
    smilenceX
        91
    smilenceX  
       2023-02-07 21:54:54 +08:00
    重装系统。
    在我看来,预先装好的系统并不是 100%可信。
    LxnChan
        92
    LxnChan  
       2023-02-07 21:57:18 +08:00
    @kaiki 我看一下啊,我服务器 IP 是 127.0.0.1
    LindsayZhou
        93
    LindsayZhou  
       2023-02-07 21:57:55 +08:00
    1. 主机名,新用户
    2. zsh 和我的 zshrc zshenv zshalias (不是 ohmyzsh ,自己手写的)
    3. ssh 配置,改端口,禁密码
    4. 我的 gpg 公钥(备份加密用)
    5. 我的 iptables 规则,默认留下 80 443 ssh 端口,其他全禁
    6. 装 node-exporter 加到监控里
    7. 装 ipset 设置 ip 黑名单,从 blackip.ustc.edu.cn 拉的 (可选)
    8. 跑了服务就把备份弄好 (可选)

    2 在我的 dotfile 仓库 git clone ssh://git.lin.moe/dotfiles
    7 、8 的脚本和 systemd service/timer 在 ssh://git.lin.moe/systools ,没写说明,脚本简单,有需要自己看
    huieh
        94
    huieh  
       2023-02-07 22:05:42 +08:00
    有模板。。拉下来什么都配置好了
    davis2023
        95
    davis2023  
       2023-02-07 22:08:28 +08:00
    自己信任的系统先部署一遍
    SAGAN
        96
    SAGAN  
       2023-02-07 22:27:00 +08:00
    开启 root 用户。

    ssh 启用密码登录。(密码设为 32 位随机字符)

    禁用防火墙、禁用 selinux 。

    给服务器取个名字设为 hostname ,在自己域名的管理界面加一条 hostname.s.example.com 的 DNS 记录指向服务器 IP ,这样就不用记服务器 IP 了。

    ( CentOS / RHEL 系)删除 .bashrc 里默认的 alias rm="rm -i" 和 alias mv="mv -i"
    cdlnls
        97
    cdlnls  
       2023-02-07 22:37:26 +08:00
    一般第一件事是执行 update ,把系统更新一下,然后再开始装上几个常用的工具。再之后的操作看具体需求。
    yulihao
        98
    yulihao  
       2023-02-07 22:43:00 +08:00
    apt update
    然后改密码,没 root 用户会先开 root 用户
    techstay
        99
    techstay  
       2023-02-07 22:43:35 +08:00
    1. ssh-copy-id 添加公钥允许免密码 SSH 登录
    1. 更新系统
    1. 用 zim 配置 zsh 环境
    1. 添加 docker
    1. frp 内网穿透

    现在的话,应该还会部署一个 vpn 中转,传文件和局域网玩游戏
    fzlqr091314
        100
    fzlqr091314  
       2023-02-07 22:45:34 +08:00
    装 centos7-gnome 、修改本地镜像源、yum install gcc make 、yum install kernel kernel-devel 、 装网卡驱动、换镜像源、装宝塔、建站
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2657 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 10:18 · PVG 18:18 · LAX 02:18 · JFK 05:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.