Plesk 10 以上可以透過管理介面設定讓使用者可以存取 SSH,並 chrooted,
但會遇到某些指令不能用,那是因為 Plesk SSH chrooted 預設只提供少數指令可用。
不過可以使用 Plesk 工具來新增指令
wget http://kb.odin.com/Attachments/kcs-19590/chroot_update.zip unzip chroot_update.zip chmod +x chroot_update.sh ./chroot_update.sh --help
在 chrooted 環境下,預設是不能下 ssh XXX@1.1.1.1 的
新增 ssh 指令
./chroot_update.sh --devices ./chroot_update.sh --add `which ssh` ./chroot_update.sh --add `which ssh-keygen` ./chroot_update.sh --add `which ssh-keyscan` cp -a /etc/resolv.conf /var/www/vhosts/chroot/etc/ ./chroot_update.sh --apply ssorc.tw # 或全部套用 ./chroot_update.sh --apply all
新增 php 指令
./chroot_update.sh --add `which php` mkdir /var/www/vhosts/chroot/usr/share cp -a /usr/share/zoneinfo /var/www/vhosts/chroot/usr/share for f in /usr/lib64/php/modules/*.so ; do ./chroot_update.sh --add $f ; done rm -f /var/www/vhosts/chroot/bin/*.so mkdir /var/www/vhosts/chroot/usr/lib64 cp -a /usr/lib64/php /var/www/vhosts/chroot/usr/lib64 cp -a /etc/php.ini /etc/php.d /var/www/vhosts/chroot/etc ./chroot_update.sh --apply ssorc.tw
新增 git 指令
./chroot_update.sh --add `which git` cp -a /usr/bin/git* /var/www/vhosts/chroot/bin/ mkdir /var/www/vhosts/chroot/usr/share cp -a /usr/share/git-core /var/www/vhosts/chroot/usr/share/ cp -a /usr/libexec/git-core /var/www/vhosts/chroot/usr/libexec/ cp -a /lib64/libexpat.so* /var/www/vhosts/chroot/lib64/ # 另外還有 # 下 git pull 需要用到的 ./chroot_update.sh --add `which basename` ./chroot_update.sh --add `which sed` ./chroot_update.sh --add `which uname` ./chroot_update.sh --add `which tr` ./chroot_update.sh --apply ssorc.tw
參考
Plesk – Adding programs to a chrooted SSH
http://blog.devalias.net/post/15535429513/plesk-adding-programs-to-a-chrooted-ssh
[HOWTO] How to add new programs to a chrooted shell environment template
https://kb.plesk.com/en/115842
How to extend chrooted environment with additional commands
https://kb.plesk.com/en/818
如果要加入 ping
# 除了 ./chroot_update.sh --add `which ping` # 也要 chmod u+s /var/www/vhosts/domain.TLD/bin/ping
留言