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

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

  •  1
     
  •   Xuanwo · 2016-07-18 14:37:52 +08:00 · 7540 次点击
    这是一个创建于 1154 天前的主题,其中的信息可能已经有所发展或是发生改变。
    场景是这样的:
    现在手头一堆服务器,阿里云一个,青云一个,学校用来做镜像站的两三个,然后国外还有个你懂的服务器。每个服务器都有一个 IP ,每次想上去操作一下的时候都记不得 IP 是多少,要上网站去看= =
    问一下 V2 的老司机,你们是怎么管理手头的各种服务器的呢?
    91 回复  |  直到 2016-07-20 17:05:29 +08:00
        1
    felixzhu   2016-07-18 14:40:31 +08:00
        2
    Xuanwo   2016-07-18 14:46:13 +08:00
    @felixzhu 抱歉,没有理解你的意思,配置 ssh 的什么呢?
        3
    qqpkat2   2016-07-18 14:48:21 +08:00
    ssh 不就好了么。
        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/
        5
    Xuanwo   2016-07-18 14:50:05 +08:00
    @mcfog Thx ,我明白了
        6
    shierji   2016-07-18 14:54:33 +08:00 via Android
    记不得挨批 随便绑个域名啊 Ali.wohendiao.com 之类的
        7
    ytpfxnj   2016-07-18 14:59:13 +08:00
    修改 hosts 多简单呀
        8
    Xuanwo   2016-07-18 15:07:19 +08:00
    @shierji 绑个 IP 的好处是可以跨设备操作
    @ytpfxnj 修改 Hosts 和修改 ssh_config 的缺点就是设备多的话要重新配置好麻烦
        9
    sampeng   2016-07-18 15:11:52 +08:00
    你需要的是顺手的终端。。这念头谁去背那些 ip 啊。。会死的
        10
    sampeng   2016-07-18 15:12:10 +08:00
    终端工具~
        11
    chairuosen   2016-07-18 15:14:17 +08:00
    绑公网域名啊
        12
    JasperYanky   2016-07-18 15:15:09 +08:00
    绑个域名
        13
    shiny   2016-07-18 15:16:40 +08:00
    另外不要忘了证书
        14
    zhangfan   2016-07-18 15:20:04 +08:00
    直接存在 putty 里面不就可以了
        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
        16
    hoofei   2016-07-18 15:43:20 +08:00 via iPhone
    楼主不用类似 XShell 之类的工具吗?
        17
    Havee   2016-07-18 15:43:49 +08:00
    然后看状态的时候,每一个都 ssh 进去看?
    楼主需要的估计是能管理 N 台机子的面板吧
        18
    dodo2012   2016-07-18 15:46:12 +08:00
    shuttle 一直在用
        19
    realpg   2016-07-18 15:54:34 +08:00
    运维职业病之 IP 看一眼用两天就用永久的记住终身不忘……
        20
    rootit   2016-07-18 16:02:53 +08:00
    v1.{域名}
    v2.{域名}
    v3.{域名}
    v4.{域名}
    v5.{域名}
    v6.{域名}
    .......
        21
    rootit   2016-07-18 16:03:48 +08:00
    ps : 当然你还要记住每个 Server 的 ssh port 。。。 ==
        22
    Xuanwo   2016-07-18 16:07:24 +08:00
    - -,所以就非常的尴尬, Win 下面有 Xshell 这样的东西, Linux 下面的话就更加倾向于用一些小而美的工具。
    综合起来看,绑个 IP 貌似比较好管理- -,证书也是个蛋疼得问题,跨设备相当无解。

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

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

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

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

    @ToughGuy 好像不支持手机?
        63
    hanxiV2EX   2016-07-19 08:18:52 +08:00 via iPhone
    选一台做为跳板🐔。跳板机上存放登录其他机器的密钥,先登陆跳板机,再从跳板机登录其他机。所以只要把跳板机配好了,不管在什么环境下,只要记住跳板机就够了。
        64
    rainysia   2016-07-19 08:53:45 +08:00
    必须 ansible, 说 ssh key 的, 都是小规模的.
    上千台的, ansible
        65
    billwang   2016-07-19 08:54:00 +08:00
    运维监测管理系统?
        66
    notolddriver   2016-07-19 08:57:33 +08:00
    Xshell 管理啊,添加上备注。 公司的一批服务器:
    <img src="http://108.61.250.6/sever.png">
        67
    zoues   2016-07-19 09:03:44 +08:00
    ansible
        68
    zhangfan   2016-07-19 09:06:32 +08:00
    @notolddriver 都不改端口的吗
        69
    xderam   2016-07-19 09:12:32 +08:00
    @rainysia 上千台内网环境+ssh 连接优化可能还好点? 如果追求效率那玩意可能还是有点问题的。
        70
    raysonx   2016-07-19 09:20:59 +08:00 via Android
    我也不改端口,没意义,该扫描照样扫。
    自己的服务器是禁止 root 账号登录和密码认证的
        71
    tanywei   2016-07-19 09:23:49 +08:00
    给我托管吧 哈哈
        72
    lidashuang   2016-07-19 10:20:38 +08:00
    ansible
        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
        74
    yws112358   2016-07-19 10:34:42 +08:00
    因为用 windows 的 所以 teamview 挺好的
        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 的那场灾难..
        76
    v2016   2016-07-19 11:41:08 +08:00
    弄个域名
        77
    sharkli   2016-07-19 11:43:09 +08:00
    Mac Zoc
        78
    BraveRBT   2016-07-19 12:50:31 +08:00
    saltstack
        79
    notolddriver   2016-07-19 12:56:40 +08:00
    @zhangfan 做固定 ip 地址限制登录了
        80
    wweir   2016-07-19 12:57:56 +08:00
    ssh -Pxxxx [email protected] # sshfq
    Usage:
    <c-r>sshfq

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

    或者去 trusted host 里面找....
        91
    rongself   2016-07-20 17:05:29 +08:00
    windows 下, putty + pagent + onedriver 同步配置
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2437 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 26ms · UTC 00:44 · PVG 08:44 · LAX 17:44 · JFK 20:44
    ♥ Do have faith in what you're doing.