1) встроенной библиотекой РНР (если есть на сервере)
2) внешней программой (если есть на сервере)
3) собственными ручками при помощи справки по формату архива.
Для меня посути даже не так важно с помощью чего распаковывать ftp (но помойму нельзя) SSH (может есть такая комманда) или же если не чего не поможет средствами php. Просто у меня раньше опыта распаковки архивов небыло... а сейчас появилась необходимость.
ftp нельзя распаковывать. Как и SSH, ибо это протогоколы, по которым передаются файлы.
Можно получить архив по FTP и затем его распаковать/разархивировать.
Для этого есть специальные программы, которые можно выполнить через shell фнкции - zip/unzip/bzip2/unrar и другие.
Можно так-же воспользоваться библиотеками PHP (http://php.net/bzdecompress,http://php.net/zip_open).