linux 上有记住密码的 terminal 么?每次都要输入密码好麻烦 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
herozem
V2EX    Linux

linux 上有记住密码的 terminal 么?每次都要输入密码好麻烦

  •  
  •   herozem 2015-12-24 11:56:12 +08:00 10506 次点击
    这是一个创建于 3578 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我知道有 authorized_keys 这回事,但是总会有没有 key 只能密码登陆的状况.

    目前是给常用的机器上 authorized_keys,然后在/usr/local/bin加脚本,存储为 sshxxx,
    但还是比较麻烦

    ps: 类似 xshell 这样的.

    第 1 条附言    2015-12-24 12:37:06 +08:00
    另一种情况是, 有 key,还要输入 key 的密码. 这个虽然也可以用 sshagent 实现,但是还是比较麻烦-.- 主要是之前习惯了 xshell
    43 条回复    2019-01-02 23:06:13 +08:00
    zhjits
        1
    zhjits  
       2015-12-24 11:57:12 +08:00 via Android   1
    jarlyyn
        2
    jarlyyn  
       2015-12-24 11:59:24 +08:00
    firessh?
    linhua
        3
    linhua  
       2015-12-24 12:06:34 +08:00
    sshpass
    cyneuzk
        4
    cyneuzk  
       2015-12-24 12:07:57 +08:00 via iPhone
    securecrt
    bingwenshi
        5
    bingwenshi  
       2015-12-24 12:10:56 +08:00
    那么,是什么场景只能用帐号密码,而不能用 key 呢?
    zen9073
        6
    zen9073  
       2015-12-24 12:17:29 +08:00
    你需要的是 .ssh/config
    https://book.9073.me/linux/openssh.html
    herozem
        7
    herozem  
    OP
       2015-12-24 12:36:32 +08:00
    @bingwenshi 额,这个是很少. 但是还有的情况时,有 key,还要输入 key 的密码. 这个虽然也可以用 sshagent 实现,但是还是比较麻烦-.- 主要是之前习惯了 xshell
    wweir
        8
    wweir  
       2015-12-24 12:38:49 +08:00 via Android
    新机器上手第一件事 ssh-copy-id ,
    抱歉我不懂你的苦
    herozem
        9
    herozem  
    OP
       2015-12-24 12:38:59 +08:00
    @cyneuzk 嗯,我在试这个,但是好丑-.-我设置了 qtconfig 成 gtk theme 还是没用.
    herozem
        10
    herozem  
    OP
       2015-12-24 12:45:49 +08:00
    @wweir 所以你每次还是要输入 ssh root@... -p xxx, 然而 xshell 早就 Alt+o, enter 登陆进去了
    herozem
        11
    herozem  
    OP
       2015-12-24 12:47:17 +08:00
    @jarlyyn 我试了一下,firessh 显示有问题. 实用性还是不足.
    herozem
        12
    herozem  
    OP
       2015-12-24 12:48:19 +08:00
    @zhjits 这方法很棒,不过还是每次都要自己写一个小脚本放 PATH 里
    nowcoder
        13
    nowcoder  
       2015-12-24 12:49:11 +08:00
    securecrt
    SpicyCat
        14
    SpicyCat  
       2015-12-24 14:57:41 +08:00
    用 Linux 就要用 Linux 的方式。 sshagent, ~/.ssh/config 配置好,每次开机只需要输入一次 key 的 passphrase, 简单方便。
    xcodebuild
        15
    xcodebuild  
       2015-12-24 15:02:45 +08:00
    @herozem ssh-copy-id 了你要是想给 zsh 绑定个 alt+o 就进去了,,,都不用 enter 。
    herozem
        16
    herozem  
    OP
       2015-12-24 15:36:21 +08:00
    @codefalling 额,好吧,你针对的是一台机器,这样做挺方便. 但是机器多起来就不一样了
    vonnyfly
        17
    vonnyfly  
       2015-12-24 16:04:27 +08:00
    ssh 可以在.ssh/config 里定义好. 然后 ssh XXX
    Host XXX
    HostName xxx.xxx.xxx
    User root
    IdentityFile ~/.ssh/id_rsa
    PasswordAuthentication ...(没测试)
    GNiux
        18
    GNiux  
       2015-12-24 16:10:28 +08:00 via iPhone
    ssh-keygen 的时候,要求输入新密码时,不要不要,直接回车。
    herozem
        19
    herozem  
    OP
       2015-12-24 16:20:45 +08:00 via iPhone
    @GNiux 嗯。不是我的 key 是公司的
    herozem
        20
    herozem  
    OP
       2015-12-24 16:24:43 +08:00
    @vonnyfly 嗯,最后我知道了 linux 上没有 xshell 这样的神器了 T_T
    wxm4ever
        21
    wxm4ever  
       2015-12-24 16:31:33 +08:00
    > @wweir 所以你每次还是要输入 ssh root@... -p xxx, 然而 xshell 早就 Alt+o, enter 登陆进去了

    xshell 的 alt o 和 linux 定义一个 alias 不是一样的原理么, 并不觉得我通过 aliasl 连 ssh 和你 alt o 有什么速度上的明显差异。
    kmahyyg
        22
    kmahyyg  
       2015-12-24 16:45:18 +08:00
    安卓平台有吗?搭车……
    herozem
        23
    herozem  
    OP
       2015-12-24 17:48:03 +08:00
    @wxm4ever 嗯,单看一个是没有,如果有 n 台主机, xshell 会显得好用些。
    wweir
        24
    wweir  
       2015-12-24 20:38:46 +08:00 via Android
    @herozem 抱歉,目前在用 linux 桌面,不用 xshell 。
    偷偷告诉你,我有个习惯,在命令后面加注释,登用 ssh 是用 ctrl+r ssh 机器名。
    非要说快捷的话,感觉 win+v 连 vpn 还可以。
    loading
        25
    loading  
       2015-12-24 20:40:40 +08:00 via Android
    有个叫做 fuck 的神奇脚本。
    herozem
        26
    herozem  
    OP
       2015-12-24 21:25:09 +08:00
    @loading 啊,那个不是纠正打错命令的吗
    loading
        27
    loading  
       2015-12-24 21:37:49 +08:00 via Android
    其实你的需求可能是 alias
    kfll
        28
    kfll  
       2015-12-24 21:41:06 +08:00 via iPhone
    keyring
    congeec
        29
    congeec  
       2015-12-24 21:52:38 +08:00
    四种方式够你用了,自己搜
    expect
    sshpass
    ssh-copy-id
    ssh_config
    darluc
        30
    darluc  
       2015-12-24 22:37:39 +08:00
    自己写一个 shell 脚本:
    ```
    #!/usr/bin/expect
    spawn ssh [email protected]
    expect -re " password:"
    send "password\r"
    interact
    ```
    LINAICAI
        31
    LINAICAI  
       2015-12-24 22:40:06 +08:00
    ssh 登录还需要输入密码???
    LINAICAI
        32
    LINAICAI  
       2015-12-24 22:43:23 +08:00
    非得用密码登录的, ssh 是摆设了啊,用 config ?
    daybyday
        33
    daybyday  
       2015-12-24 22:53:44 +08:00
    /etc/hosts
    ssh-copy-id -i user@t-server1
    alias server1='ssh user@t-server1'
    wxm4ever
        34
    wxm4ever  
       2015-12-25 09:32:47 +08:00
    @herozem 给每个 host 做 alias,然后配合 ctrl r 。 你可以试试,真的没你想的那么慢
    nevernet
        35
    nevernet  
       2015-12-25 09:53:48 +08:00
    看到楼上的大部分回答都笑了
    herozem
        36
    herozem  
    OP
       2015-12-25 10:21:30 +08:00
    @nevernet
    @wxm4ever
    @daybyday 楼上说的这些我都知道。我只是在问有没有 xshell 这样方便的管理大量机器的 terminal emulator 。所以我在 20 楼就得出结论了, linux 无此神器。

    另外 secureCRT 我试了一下,第一是在 linux 下的版本不可以更换主题,好丑-。-,第二,快捷键和我自定义的 wm 快捷键有大量冲突,所以放弃了。

    另外就桌面体验来说, linux 比 windows 还差得远。可是 windows 桌面的可定制性不够强。 wm 与 windows 不可兼得啊!伤心
    liujiangbei
        37
    liujiangbei  
       2015-12-25 13:49:09 +08:00
    expect
    sshpass
    ssh-copy-id
    ssh_config
    nevernet
        38
    nevernet  
       2015-12-25 16:47:49 +08:00
    @herozem ...
    要是没有比 xshell 强大的东西,你让用 linux 的怎么活? 比如楼上提到的工具,哈哈
    ldsink
        39
    ldsink  
       2015-12-25 17:25:29 +08:00
    迷之问题。(#′)凸
    * 要避免输入密码, ssh-copy-id 直接帮你复制公钥了,压根不需要操心 authorized_keys 。
    * 要管理多台机器,这里我理解是要能人工的、快捷的登陆到不同的机器上执行一些操作(大批量部署肯定是部署脚本了)。这么多台机器总有个区分的名字什么的吧,除了第一次要 ssh XXX@XXX ,后面都是直接 Crl + R + 一般不超过三个字母 (常用的一般就一个)+ Enter ,不超过六个键就搞定的事情,还要特意装个工具?打开终端还要按三个键呢。

    剩下的问题就只有如何连接那些基于奇怪原因不能添加公钥,只能用密码的服务器(数量不明)。
    我的 Deepin Terminal 有个 SSH 连接管理的功能,设置好以后,每次 Ctrl + 9 切出界面选好服务器 Enter 就 OK 了。我之前一直不知道这种鸡肋功能有啥用,今天发现用武之地了。

    PS: 我没用过 XShell ,主系统 Deepin 。我用上面的方法弄过三十多台服务器超过一年时间没任何问题。
    WD40
        40
    WD40  
       2015-12-26 22:24:00 +08:00
    Gnome Connection Manager

    http://kuthulu.com/gcm/
    herozem
        41
    herozem  
    OP
       2015-12-26 23:39:50 +08:00 via iPhone
    @WD40 好赞顶!
    shaojz2005
        42
    shaojz2005  
       2019-01-02 18:39:08 +08:00
    @WD40 这个是针对窗口环境的吗?
    WD40
        43
    WD40  
       2019-01-02 23:06:12 +08:00
    @shaojz2005 既然是 Gnome 然是形境咯 。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     931 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 22:14 PVG 06:14 LAX 15:14 JFK 18:14
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86