Но чтобы использовать эти возможности необходимо подключить небольшую библиотеку к вашему PHP. Во FreeBSD Это делается довольно просто из портов

#cd  /usr/ports/security/libssh2 && make install clean

В других операционных системах такая библиотека тоже есть, только на вскидку не вспомню, как устанавливать (работаю в основном с FreeBSD). Библиотека установиться как расширение PHP. Естественно, что апач после данной манипуляции надо будет перезапустить.

Сам код копирования по SSH довольно прост. Я сразу же приведу код копирования файлов с использованием ключа RSA (согласитесь, будет не совсем нормально, если при копировании файлов в автоматическом режиме код будет ждать ввода пароля)

if ( $connection = ssh2_connect ( $server, 22, array ( 'hostkey' => 'ssh-rsa' ) ) ) { // Соединяемся по указанному IP (переменная $server и порту)
  if ( ssh2_auth_pubkey_file ( $connection,    'admin',                                         // Указываем имя пользователя
                                                               '../keys/pvpn',                                // Путь к публичному ключу
                                                               '../keys/kvpn', '' ) ) {                       // Путь в приватному ключу
    if ( ! ssh2_scp_send ( $connection,                                                              // Проверяем результат копирования
        '../source/file', '/path/to/destination/file' ) )                                               // Путь источника, путь назначения
      echo 'Operation fail!';                                                                               // Если не получилось - ругаемся
  }
}

Код рабочий. Если вдруг код будет ругаться на неизвестную функцию, проверьте, подключилось ли расширение. В каталоге расширений (в FreeBSD это /usr/local/etc/php) Должен быть соответствующий файл, в моём случае это ext-20-ssh2.ini или подобная запись

extension=ssh2.so

где-то в конфигурации PHP.