Ssh
授予臨時 SSH 訪問權限以獲得支持
我必須為特定軟體提供一些使用者支持。由於通過電子郵件來回提供支持很乏味,我想臨時訪問使用者的帳戶。
讓我們打電話給我正在支持 Bob 的使用者。以下程序有效嗎?
- 電子郵件 Bob 我的公共 SSH 密鑰
id_rsa.pub
- 然後,Bob 創建了一個備份
authorized_keys
- Bob 然後將我的公共 SSH 密鑰添加到
authorized_keys
viacat 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_keys
viacat 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
.
- Bob 添加
screen -R
到 .bashrc- 登錄時您進入螢幕會話。Bob 可以看到您在螢幕會話中鍵入的所有內容。
(我記得壁爐的螢幕命令,可能需要更多配置或測試。請查看此文件http://wiki.networksecuritytoolkit.org/index.php/HowTo_Share_A_Terminal_Session_Using_Screen)