Ssh
如何獲取使用者 ssh 所在的埠號?
我正在將伺服器從現有的多使用者環境中的埠 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 上獲取程序和使用者名及其套接字的列表。它正在跳過那些由root
或sshd
因為它們與登錄使用者不對應的程序和使用者名。一種完全不同的方法是向 中添加一些命令
/etc/ssh/sshrc
,這將解析$SSH_CONNECTION
並記錄它:logger -p auth.notice -t "sshd[$$]" "$SSH_CONNECTION"
第三種方法是
sshd
為埠 22 創建第二個實例並將其配置為登錄到不同的設施。