zoukankan      html  css  js  c++  java
  • su成别的用户后仍以原来私钥访问远程机器

    背景:

    同步机和游戏服两台机都有个人用户账号和游戏账号xy1,游戏服设了xy1的ssh强制命令来受同步机的xy1控制。现在需要在同步机上用xy1进行一个控制游戏服的操作,该操作需要在同步机远程tail -f游戏服上的一个输出文件,由于强制命令的存在,不能直接用xy1去远程tail -f,而要用游戏服的个人用户账号去tail -f(前提是游戏服的个人账号有访问那个输出文件的权限)

    做法:

    本地使用ssh -A登陆同步机时,会在同步机的/tmp目录下放一个保存私钥的目录,变量$SSH_AUTH_SOCK记录了该目录的位置,只要在.cshrc文件将$SSH_AUTH_SOCK记录的目录权限设为777,就可以su成xy1后也以原来的用户私钥去连游戏服。

    1.修改同步机个人用户账号的.cshrc文件,结尾增加:

    if ($?SSH_AUTH_SOCK) then
      chmod -R 777 `dirname $SSH_AUTH_SOCK`
    endif

    2.登陆同步机后,su成root,再su成xy1(要su xy1,不能 su - xy1)

    3.在su成xy1身份后,以原来个人用户账号登陆游戏服:

    xy1% ssh -l andrew $GAMESERVER

  • 相关阅读:
    textarea 里设置 style="resize:none"
    linux 脚本
    RabbitMQ、Redis、ZeroMQ、ActiveMQ、Kafka/Jafka对比
    python安装过程
    linux下安装python3
    java实现定时任务 Schedule
    Spring 定时任务之 @Scheduled cron表达式
    docker部署
    设备连接服务器
    springboot实现fileUpLoad
  • 原文地址:https://www.cnblogs.com/children/p/3439140.html
Copyright © 2011-2022 走看看