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

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

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

    想到这个需求

    9 replies  •  2019-08-22 10:26:37 +08:00
    Dragonish3600
    Dragonish3600
    Feb 22, 2019
    1
    last 一下就好了啊
    远程登录有 IP 显示
    povvoq
    povvoq
    Feb 22, 2019 via Android
    2
    export | grep ssh -i
    xupefei
    xupefei
    Feb 22, 2019
    3
    who am i 判断里面有没有 IP 地址。
    naijnehc
    naijnehc
    OP
    Feb 22, 2019
    4
    感谢各位
    Nitroethane
    Nitroethane
    Feb 22, 2019
    5
    从 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
    wdlth
    Feb 22, 2019
    6
    判断 tty
    codehz
    codehz
    Feb 23, 2019 via Android
    7
    @wdlth 很多图形界面终端也是 pty
    maoyipeng
    maoyipeng
    Feb 23, 2019
    8
    环境变量
    CooperQ
    CooperQ
    Aug 22, 2019 via iPhone
    9
    正好碰到这个问题,直接 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   ·   Privacy   ·   Solana   ·   1855 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 11:00 · PVG 19:00 · LAX 03:00 · JFK 06:00
    ♥ Do have faith in what you're doing.