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

求问老司机,手头的服务器多了怎么管理呢?

  •  1
     
  •   Xuanwo ·
    Xuanwo · 2016-07-18 14:37:52 +08:00 · 9645 次点击
    这是一个创建于 3048 天前的主题,其中的信息可能已经有所发展或是发生改变。
    场景是这样的:
    现在手头一堆服务器,阿里云一个,青云一个,学校用来做镜像站的两三个,然后国外还有个你懂的服务器。每个服务器都有一个 IP ,每次想上去操作一下的时候都记不得 IP 是多少,要上网站去看= =
    问一下 V2 的老司机,你们是怎么管理手头的各种服务器的呢?
    92 条回复    2020-04-23 17:01:51 +08:00
    felixzhu
        1
    felixzhu  
       2016-07-18 14:40:31 +08:00
    Xuanwo
        2
    Xuanwo  
    OP
       2016-07-18 14:46:13 +08:00
    @felixzhu 抱歉,没有理解你的意思,配置 ssh 的什么呢?
    qqpkat2
        3
    qqpkat2  
       2016-07-18 14:48:21 +08:00
    ssh 不就好了么。
    mcfog
        4
    mcfog  
       2016-07-18 14:48:48 +08:00   ❤️ 3
    host MY_LADDER
    HostName xx.xx.xx.xxx
    host ALIYUN
    HostName xx.xx.xx.xxx


    ssh MY_LADDER
    scp program.tgz ALIYUN:/tmp/
    Xuanwo
        5
    Xuanwo  
    OP
       2016-07-18 14:50:05 +08:00
    @mcfog Thx ,我明白了
    shierji
        6
    shierji  
       2016-07-18 14:54:33 +08:00 via Android
    记不得挨批 随便绑个域名啊 Ali.wohendiao.com 之类的
    ytpfxnj
        7
    ytpfxnj  
       2016-07-18 14:59:13 +08:00
    修改 hosts 多简单呀
    Xuanwo
        8
    Xuanwo  
    OP
       2016-07-18 15:07:19 +08:00
    @shierji 绑个 IP 的好处是可以跨设备操作
    @ytpfxnj 修改 Hosts 和修改 ssh_config 的缺点就是设备多的话要重新配置好麻烦
    sampeng
        9
    sampeng  
       2016-07-18 15:11:52 +08:00
    你需要的是顺手的终端。。这念头谁去背那些 ip 啊。。会死的
    sampeng
        10
    sampeng  
       2016-07-18 15:12:10 +08:00
    终端工具~
    chairuosen
        11
    chairuosen  
       2016-07-18 15:14:17 +08:00
    绑公网域名啊
    JasperYanky
        12
    JasperYanky  
       2016-07-18 15:15:09 +08:00
    绑个域名
    shiny
        13
    shiny  
       2016-07-18 15:16:40 +08:00
    另外不要忘了证书
    zhangfan
        14
    zhangfan  
       2016-07-18 15:20:04 +08:00
    直接存在 putty 里面不就可以了
    ytpfxnj
        15
    ytpfxnj  
       2016-07-18 15:24:35 +08:00
    @Xuanwo 就像添加其它 hosts 列表一样,你可以随便起一个容易记住的名字,并不需要重新配置呀,需要改哪个就改哪个,我以前两个 ip 没有域名都是这样整的。
    x.x.x.x aliyun
    x.x.x.x qingyun
    x.x.x.x schoolmirror
    x.x.x.x americanvpn
    x.x.x.x japanvpn
    hoofei
        16
    hoofei  
       2016-07-18 15:43:20 +08:00 via iPhone
    楼主不用类似 XShell 之类的工具吗?
    Havee
        17
    Havee  
       2016-07-18 15:43:49 +08:00
    然后看状态的时候,每一个都 ssh 进去看?
    楼主需要的估计是能管理 N 台机子的面板吧
    dodo2012
        18
    dodo2012  
       2016-07-18 15:46:12 +08:00
    shuttle 一直在用
    realpg
        19
    realpg  
       2016-07-18 15:54:34 +08:00
    运维职业病之 IP 看一眼用两天就用永久的记住终身不忘……
    rootit
        20
    rootit  
       2016-07-18 16:02:53 +08:00
    v1.{域名}
    v2.{域名}
    v3.{域名}
    v4.{域名}
    v5.{域名}
    v6.{域名}
    .......
    rootit
        21
    rootit  
       2016-07-18 16:03:48 +08:00
    ps : 当然你还要记住每个 Server 的 ssh port 。。。 ==
    Xuanwo
        22
    Xuanwo  
    OP
       2016-07-18 16:07:24 +08:00
    - -,所以就非常的尴尬, Win 下面有 Xshell 这样的东西, Linux 下面的话就更加倾向于用一些小而美的工具。
    综合起来看,绑个 IP 貌似比较好管理- -,证书也是个蛋疼得问题,跨设备相当无解。

    现在好像明白那种提供访问管理服务的存在必要性了
    kiwi95
        23
    kiwi95  
       2016-07-18 16:10:05 +08:00
    ssh config 配置一写就好了
    thought
        24
    thought  
       2016-07-18 16:25:47 +08:00
    win 下推荐 xshell , mac 或 Linux 就是 csshx.
    ToughGuy
        25
    ToughGuy  
       2016-07-18 16:27:36 +08:00
    机器实在多的就花钱买个 SecureCRT 吧. 支持全平台, 也算是"最好"的的 SSH 客户端了。

    https://www.vandyke.com/products/securecrt/
    Xuanwo
        26
    Xuanwo  
    OP
       2016-07-18 16:47:31 +08:00
    现在的方案是用 tmux 直接把 session 存下来
    XDA
        27
    XDA  
       2016-07-18 17:02:10 +08:00
    Win 下无责任推荐 mRemoteNG
    walkman660
        28
    walkman660  
       2016-07-18 17:23:21 +08:00
    XSHELL 或者 SSH 免密码(非密匙)
    shiji
        29
    shiji  
       2016-07-18 17:24:35 +08:00
    如果是记不住 IP ,要么用大家都提到过的 DNS ,要么本地 ssh 客户端配置(比如 iTerm 的 profile )
    MrMario
        30
    MrMario  
       2016-07-18 17:38:29 +08:00 via iPhone
    你需要堡垒机
    beyond_st
        31
    beyond_st  
       2016-07-18 17:58:49 +08:00
    @Xuanwo tmux 还是很不错的方案 如果不需要跨机器传输的话
    hard2reg
        32
    hard2reg  
       2016-07-18 19:17:05 +08:00
    中国菜刀 (逃
    jerryshao
        33
    jerryshao  
       2016-07-18 19:26:00 +08:00
    iTerm profile, 起个辨识性高的名字比如 DigitalOcean Ubuntu 16.04 之类的
    然后每次从 profile list 里面选....
    lightening
        34
    lightening  
       2016-07-18 19:44:22 +08:00
    找一个基本的 orchestration 工具,比如 Ansible

    ansible all -a "apt-get update" 这样
    sdzxwxlsj
        35
    sdzxwxlsj  
       2016-07-18 20:20:55 +08:00
    vps1.xxx;
    vps2.xxx;
    绑个域名多好。。别告诉我你没有域名
    Syc
        36
    Syc  
       2016-07-18 20:23:59 +08:00 via Android
    中国菜刀
    god
        37
    god  
       2016-07-18 20:29:14 +08:00 via iPhone
    vSSH
    Clarencep
        38
    Clarencep  
       2016-07-18 20:30:04 +08:00
    linux 下写点 shell 脚本不就 OK 了,表告诉我你连 shell 都不会~
    WendellSun
        39
    WendellSun  
       2016-07-18 20:37:05 +08:00   ❤️ 1
    Jerry5850022
        40
    Jerry5850022  
       2016-07-18 22:00:19 +08:00
    我的方式比较弱鸡,用域名。

    aliyun.xx.com
    ideascf
        41
    ideascf  
       2016-07-18 22:03:38 +08:00
    每个服务器一个 shell 脚本, 名如: ssh2aly, ssh2sch...
    likuku
        42
    likuku  
       2016-07-18 22:17:59 +08:00
    自己常用的 shell 里给 ssh xxx-server alias 个别名嘛...
    Fonger
        43
    Fonger  
       2016-07-18 22:25:56 +08:00
    1 、使用 SecureCRT 之类终端管理连接机器
    2 、更加方便一点设置公钥登录
    cxbig
        44
    cxbig  
       2016-07-18 23:04:34 +08:00
    最基本的要有一个.ssh/config ,用 alias 替代 IPs
    skksdd
        45
    skksdd  
       2016-07-18 23:08:40 +08:00 via iPhone
    Alfred 的 Snippets
    aeshfawre
        46
    aeshfawre  
       2016-07-18 23:13:41 +08:00
    @ideascf 我也是用这种方式管理 linux 的服务器.
    我是来看你们怎么管理 win 的服务器的.
    akira
        47
    akira  
       2016-07-18 23:19:30 +08:00
    10 台 20 台以内的话 xshell 之类的工具足够了吧
    xderam
        48
    xderam  
       2016-07-18 23:21:44 +08:00
    mac 下可以用 storm ,其实就是修改.ssh/config 的包装。
    fohnwind
        49
    fohnwind  
       2016-07-18 23:26:24 +08:00
    修改一下.ssh/config 或者做一个 alias
    jswh
        50
    jswh  
       2016-07-18 23:47:28 +08:00
    我用 alias , linkhk , linkjp 什么的,然后 ssh_key 登录
    ywgx
        51
    ywgx  
       2016-07-19 00:21:21 +08:00
    xabcloud.com 专门解决你的问题 ,免服务费!
    ywgx
        52
    ywgx  
       2016-07-19 00:25:11 +08:00
    ![0_1467193823925_屏幕快照 2016-06-29 下午 5.49.28.png]( http://community.xabcloud.com/uploads/files/1467193828192-屏幕快照-2016-06-29-下午 5.49.28.png)
    ywgx
        53
    ywgx  
       2016-07-19 00:27:42 +08:00
    akring
        54
    akring  
       2016-07-19 00:58:33 +08:00
    Mac 下 SSH Shell 非常不错
    caola
        55
    caola  
       2016-07-19 01:30:42 +08:00   ❤️ 1
    putty 不就可以保存自定义名称吗,在保存的名称命名为对应的地区或功能及备注信息不就得了。
    murusu
        56
    murusu  
       2016-07-19 01:45:03 +08:00
    有自己的域名:子域名直接绑定 IP
    没有自己的域名但是有自己能控制的路由器:路由器设置 DNS 重定向绑定 IP
    没有自己的域名也没有自己能控制的路由器:改 hosts 或者设置 alias
    sadaharu09
        57
    sadaharu09  
       2016-07-19 01:45:10 +08:00 via iPad
    Coda promote ,你值得拥有。
    49
        58
    49  
       2016-07-19 03:24:52 +08:00 via iPhone
    竟然没人提 ansible
    oglop
        59
    oglop  
       2016-07-19 07:09:30 +08:00
    请问我有两个 github 帐号,想不同帐号用不同的 key ,要怎么设置? ~/.ssh/config 里 两组不同 key 的 host 都是 github.com ,这样不是没法区分么
    Actrace
        60
    Actrace  
       2016-07-19 07:10:34 +08:00
    windows 下,直接用 putty 搞个快捷方式就可以了吧。。哪来那么多软件。
    kn007
        61
    kn007  
       2016-07-19 07:42:33 +08:00
    Tunnelier 管理配置
    clorts
        62
    clorts  
       2016-07-19 07:49:05 +08:00
    @MrMario 堡垒机是什么?

    @ToughGuy 好像不支持手机?
    hanxiV2EX
        63
    hanxiV2EX  
       2016-07-19 08:18:52 +08:00 via iPhone
    选一台做为跳板🐔。跳板机上存放登录其他机器的密钥,先登陆跳板机,再从跳板机登录其他机。所以只要把跳板机配好了,不管在什么环境下,只要记住跳板机就够了。
    rainysia
        64
    rainysia  
       2016-07-19 08:53:45 +08:00
    必须 ansible, 说 ssh key 的, 都是小规模的.
    上千台的, ansible
    billwang
        65
    billwang  
       2016-07-19 08:54:00 +08:00
    运维监测管理系统?
    notolddriver
        66
    notolddriver  
       2016-07-19 08:57:33 +08:00
    Xshell 管理啊,添加上备注。 公司的一批服务器:
    <img src="http://108.61.250.6/sever.png">
    zoues
        67
    zoues  
       2016-07-19 09:03:44 +08:00
    ansible
    zhangfan
        68
    zhangfan  
       2016-07-19 09:06:32 +08:00
    @notolddriver 都不改端口的吗
    xderam
        69
    xderam  
       2016-07-19 09:12:32 +08:00
    @rainysia 上千台内网环境+ssh 连接优化可能还好点? 如果追求效率那玩意可能还是有点问题的。
    raysonx
        70
    raysonx  
       2016-07-19 09:20:59 +08:00 via Android
    我也不改端口,没意义,该扫描照样扫。
    自己的服务器是禁止 root 账号登录和密码认证的
    tanywei
        71
    tanywei  
       2016-07-19 09:23:49 +08:00
    给我托管吧 哈哈
    lidashuang
        72
    lidashuang  
       2016-07-19 10:20:38 +08:00
    ansible
    xtulnx
        73
    xtulnx  
       2016-07-19 10:28:58 +08:00
    常规的 ~/.ssh/config ,例如:
    Host bj.* # 北京内网测试
    Port 2009
    User root
    IdentityFile ~/.ssh/bj.admin.git.key
    Host bj.201 # Hadoop.201
    HostName 10.0.30.201
    #<[email protected]>
    Host bj.202 # Hadoop.202
    HostName 10.0.30.202
    Host bj.203 # Hadoop.203
    HostName 10.0.30.203

    然后配置环境(如 ~/.bashrc )

    _complete_liao_hosts_ex() {
    local curw=${COMP_WORDS[COMP_CWORD]}
    local wordlist=$(awk '{if ($1=="Host") if ($4=="") print $2; else printf "%s::%s\n",$2,$4}' ~/.ssh/config)
    COMPREPLY=($(compgen -W '${wordlist[@]}' -- "$curw"))
    return 0
    }

    function lsshl() {
    n=$1
    ssh ${n%%:*}
    }
    complete -F _complete_liao_hosts_ex lsshl

    之后,在 terminal 中,输入 lsshl bj. 再按 tab 补全,就会发现:

    $ lsshl bj.
    bj.*::北京内网测试 bj.191 bj.191.2 bj.201::Hadoop.201 bj.202::Hadoop.202 bj.203::Hadoop.203 bj.98 bj.98.2

    so easy
    yws112358
        74
    yws112358  
       2016-07-19 10:34:42 +08:00
    因为用 windows 的 所以 teamview 挺好的
    rainysia
        75
    rainysia  
       2016-07-19 10:50:32 +08:00
    @xderam ansible 是部署工具啊, 要走 ssh 就走 ssh. 主要是批量 update, remove 这些. 写点儿 playbook, 管理好 playbook 和对应的 role, 然后一个 ssh 的配置里面管理不同的 server 的 ssh_keys.
    上千台轻轻松松. 我们就是这样管理的.

    不过需要注意的是预发环境. 我们分了一些 vlan 出来作隔离升级, 防止写的 playbook 写错. 比如 Marco Marsala 的那场灾难..
    v2016
        76
    v2016  
       2016-07-19 11:41:08 +08:00
    弄个域名
    sharkli
        77
    sharkli  
       2016-07-19 11:43:09 +08:00
    Mac Zoc
    BraveRBT
        78
    BraveRBT  
       2016-07-19 12:50:31 +08:00
    saltstack
    notolddriver
        79
    notolddriver  
       2016-07-19 12:56:40 +08:00
    @zhangfan 做固定 ip 地址限制登录了
    wweir
        80
    wweir  
       2016-07-19 12:57:56 +08:00
    ssh -Pxxxx root@XXX # sshfq
    Usage:
    <c-r>sshfq

    ps:
    <c-r>sftpfq
    <c-r>scpvimrcfq
    Showfom
        81
    Showfom  
       2016-07-19 13:05:00 +08:00 via iPhone
    像我这样记 IP 的应该很少
    VicYu
        82
    VicYu  
       2016-07-19 13:26:17 +08:00
    请联系我
    xfabs
        83
    xfabs  
       2016-07-19 13:34:03 +08:00
    @Showfom 兽兽是怎么管理的,分享下嘛
    hxtheone
        84
    hxtheone  
       2016-07-19 13:58:42 +08:00
    写到 ssh_config 里+1
    qxyjw2008
        85
    qxyjw2008  
       2016-07-19 15:42:40 +08:00
    楼主可以试试 RDO ,一个远程管理软件。
    Showfom
        86
    Showfom  
       2016-07-19 15:51:52 +08:00
    @xfabs 雇人管理- - 我们目前两个 SA - -机器太多了 233
    JayFang1993
        87
    JayFang1993  
       2016-07-19 15:54:41 +08:00
    我都是拿个 二级域名 解析过去
    sxul07
        88
    sxul07  
       2016-07-19 20:34:39 +08:00
    域名解析 host xshell …大家都说完了
    wuhao
        89
    wuhao  
       2016-07-19 22:22:43 +08:00
    xshell 直接记录下来不就可以了嘛
    hhhhhhhhh
        90
    hhhhhhhhh  
       2016-07-20 02:35:08 +08:00
    用 ansible puppet chef,保持好习惯, 不管开什么服务器都用那个开,然后自己架个中间服务器可以直接 UI 管理所有部署的服务器

    或者去 trusted host 里面找....
    rongself
        91
    rongself  
       2016-07-20 17:05:29 +08:00
    windows 下, putty + pagent + onedriver 同步配置
    sunny920
        92
    sunny920  
       2020-04-23 17:01:51 +08:00
    如果是放在前几年 100+台服务器可能就需要 100+的运维人去管理照看,但是现在信息化时代,各类工具和软件给我们带来了不少便利。

    像这种有多个服务器需要管理维护的,我建议可以使用集群式服务器运维管理工具,这类工具就可以添加管理多个服务器,像现在网上比较受欢迎的有宝塔、云帮手这些。

    宝塔和云帮手都用过,但我个人是比较推荐云帮手,我觉得云帮手在防护功能方面比宝塔稍微强一点,宝塔关于安全防护的内容只有 IP 黑白名单的设置,相比之下云帮手这方面会比较完善一点,分别有系统防护、网络连接管控、端口防护和 IP 黑白名单几个功能,对服务器的防护会更全面一些
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2845 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 00:32 · PVG 08:32 · LAX 16:32 · JFK 19:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.