su成別的用戶後仍以原來私鑰訪問遠程機器

背景: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

相關文章
相關標籤/搜索