背景:ssh
同步机和游戏服两台机都有我的用户帐号和游戏帐号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`
endifdi
2.登录同步机后,su成root,再su成xy1(要su xy1,不能 su - xy1)文件
3.在su成xy1身份后,以原来我的用户帐号登录游戏服:远程
xy1% ssh -l andrew $GAMESERVER