Ssh

授予臨時 SSH 訪問權限以獲得支持

  • September 4, 2021

我必須為特定軟體提供一些使用者支持。由於通過電子郵件來回提供支持很乏味,我想臨時訪問使用者的帳戶。

讓我們打電話給我正在支持 Bob 的使用者。以下程序有效嗎?

  • 電子郵件 Bob 我的公共 SSH 密鑰id_rsa.pub
  • 然後,Bob 創建了一個備份authorized_keys
  • Bob 然後將我的公共 SSH 密鑰添加到authorized_keysviacat id_rsa.pub >> authorized_keys
  • 我以使用者 Bob 的身份通過 SSH 登錄,無需知道 Bob 的密碼
  • 在我完成故障排除並註銷後,Bob 恢復到他原來authorized_keys的 SSH 訪問權限,從而撤銷了我的 SSH 訪問權限

附帶問題:Bob 如何監控我在做什麼?由於授予我訪問他的使用者帳戶的權限需要 Bob 非常信任,因此透明度可能會提高對該措施的接受度。


為了完整起見,這是我在家中測試該程序的方式。

  • 我通過電子郵件向 Bob 發送我的公共 SSH 密鑰id_rsa.pub
  • 鮑勃添加screen -x shared到他的.bashrc
  • Bob 開始一個螢幕會話screen -d -m -S shared並附加到它
  • 然後,Bob 創建了一個備份authorized_keys
  • Bob 將我的公共 SSH 密鑰添加到authorized_keysviacat id_rsa.pub >> authorized_keys
  • 鮑勃通知我開始
  • 我以使用者 Bob 的身份通過 SSH 登錄,無需知道 Bob 的密碼。我會自動連接到已經執行的螢幕會話,因此 Bob 可以監控我的操作
  • 在我完成故障排除並註銷後,Bob 恢復到他原來authorized_keys的 SSH 訪問權限,從而撤銷了我的 SSH 訪問權限
  • Bob 現在可以關閉所有螢幕會話並刪除他添加到他的.bashrc

Bob 方面的要求

  • 正在執行的 SSH 伺服器
  • 必須安裝螢幕

這兩種工具都可以從您的 Linux 發行版的軟體包儲存庫中獲得。由於我和 Bob 之間直接進行通信,因此我認為此解決方案優於評論中提到的 TeamViewer 方法。此外,TeamViewer 不是開源的。

程序很好。Bob 可以編輯您的密鑰或恢復備份。考慮~/.ssh/authorized_keys不存在的可能性。

為了監控某人在 shell 中所做的事情,我會使用screen.

  1. Bob 添加screen -R到 .bashrc
  2. 登錄時您進入螢幕會話。Bob 可以看到您在螢幕會話中鍵入的所有內容。

(我記得壁爐的螢幕命令,可能需要更多配置或測試。請查看此文件http://wiki.networksecuritytoolkit.org/index.php/HowTo_Share_A_Terminal_Session_Using_Screen

引用自:https://unix.stackexchange.com/questions/354829