Ssh

如何獲取使用者 ssh 所在的埠號?

  • August 8, 2014

我正在將伺服器從現有的多使用者環境中的埠 22 轉換出來。我已將 sshd 配置為偵聽兩個埠:22 和新埠。

現在我想檢測使用者何時連接或連接到埠 22。這顯然比我預期的要難。

我嘗試在 sshd_config 中啟動日誌記錄,但即使 DEBUG 也沒有記錄埠號。

我目前正在掃描 netstat 的輸出以查找與埠 22 的 TCP 連接,但這列出了來自隨機機器人掃描器的大量誤報。

$$ the reason for the port move $$

使用lsof -n -i TCP:22 -a -c sshd -a -u ^root,^sshd您可以sshd在埠 22 上獲取程序和使用者名及其套接字的列表。它正在跳過那些由rootsshd因為它們與登錄使用者不對應的程序和使用者名。

一種完全不同的方法是向 中添加一些命令/etc/ssh/sshrc,這將解析$SSH_CONNECTION並記錄它: logger -p auth.notice -t "sshd[$$]" "$SSH_CONNECTION"

第三種方法是sshd為埠 22 創建第二個實例並將其配置為登錄到不同的設施。

引用自:https://serverfault.com/questions/618832