Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
naijnehc
V2EX  ›  Linux

在 Shell 脚本中如何判断当前是 ssh 登陆,还是普通终端登陆

  •  
  •   naijnehc · Feb 22, 2019 · 4769 views
    This topic created in 2648 days ago, the information mentioned may be changed or developed.

    想到这个需求

    9 replies    2019-08-22 10:26:37 +08:00
    Dragonish3600
        1
    Dragonish3600  
       Feb 22, 2019
    last 一下就好了啊
    远程登录有 IP 显示
    povvoq
        2
    povvoq  
       Feb 22, 2019 via Android
    export | grep ssh -i
    xupefei
        3
    xupefei  
       Feb 22, 2019
    who am i 判断里面有没有 IP 地址。
    naijnehc
        4
    naijnehc  
    OP
       Feb 22, 2019
    感谢各位
    Nitroethane
        5
    Nitroethane  
       Feb 22, 2019
    从 macOS ssh 到 Arch Linux 上:
    # env | grep SSH
    SSH_CONNECTION=192.168.50.45 61360 192.168.50.84 22

    从 macOS ssh 到 CentOS 7 上:
    # env | grep SSH
    SSH_CLIENT=27.xxx.xx.99 43735 29089
    SSH_TTY=/dev/pts/0
    SSH_CONNECTION=27.xxx.xx.99 43735 172.21.0.12 29089
    wdlth
        6
    wdlth  
       Feb 22, 2019
    判断 tty
    codehz
        7
    codehz  
       Feb 23, 2019 via Android
    @wdlth 很多图形界面终端也是 pty
    maoyipeng
        8
    maoyipeng  
       Feb 23, 2019
    环境变量
    CooperQ
        9
    CooperQ  
       Aug 22, 2019 via iPhone
    正好碰到这个问题,直接 po 代码
    export |grep SSH_TTY -i >/dev/null
    RTE=$?
    if [ “$RTE ” !=“ 0 ” ]; then
    # if not login by ssh
    fi
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3085 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 466ea39e · 41ms · UTC 13:43 · PVG 21:43 · LAX 06:43 · JFK 09:43
    ♥ Do have faith in what you're doing.