如何 chroot ssh 連線?

如何 chroot ssh 連線?

我想為大多數(不是全部)透過 SSH 登入的使用者設定一個 chroot 監獄。我聽說最新版本的 openssh 可以實現這一點,但我不知道如何做到這一點。操作方法都在談論修補舊版本,而該修補程式不再可用。

我正在運行 Debian etch。

答案1

我正在使用 rssh 來實現此目的。

你是對的,有一種新的方法可以做到這一點,它是最新 ssh 版本的內建功能。

這是一篇關於不死之身

答案2

我只需設定一個用戶,該用戶可以透過 ssh 登錄,並透過 ssh 登入另一台伺服器(不直接連接到外部世界)。 cstamas 和 ericmayo 的連結是一個好的開始。

基本上,我將以下內容新增到 /etc/ssh/sshd_config 中:

匹配用戶 myuser
  Chroot目錄 /chroot/myuser

從那時起,我只需在 /chroot/myuser 下建立 chroot 環境。我複製了 /bin/bash 和 /usr/bin/ssh 以及它們所需的共享庫(ldd 將顯示這些)。對於更大的環境,編譯所需執行檔的靜態連結版本可能是有意義的。

Bash 立即運作,為了讓 ssh 運作,我還必須建立 .ssh 目錄,複製 /etc/passwd、/etc/nsswitch.conf 和 /lib/libnss_* 並建立 /dev/null、/dev/tty 和/dev/ urandom 通過mknod。

答案3

mkdir /chroot
mkdir -p /chroot/home/<user_name>

mkdir /chroot/home/<user-name>/bin  
cp -pr /bin/bash /chroot/home/<user_name>/bin/.  
cp -pr /bin/ls /chroot/home/<user_name>/bin/.  
cp -pr /lib64 /chroot/home/<user_name>/.

您必須編輯 /etc/sshd_config 檔案並添加

ChrootDirectory /chroot/%h

並重新啟動 sshd 守護程式。

總而言之,我真的認為 sftp 是一個更好的選擇。

另外,我發現這個網址是否有幫助。

http://www.techrepublic.com/blog/opensource/chroot-users-with-openssh-an-easier-way-to-confine-users-to-their-home-directories/229

答案4

據我所知,新版本的 OpenSSH 只允許 chroot 進行 SFTP 連線。我嘗試過並且有效。但對於 SSH,可用的解決方案是 chrootssh 補丁。我瀏覽 SourceForge 網站,沒有任何文件,所以我認為已經停止使用了。

對於 Debian Etch,這裡有一些文件:http://debian.home-dn.net/etch/ssh/

這裡還有其他解決方案:http://www.debian.org/doc/manuals/securing-debian-howto/ap-chroot-ssh-env.en.html,包括 chrootssh 。

相關內容