Index: wp-admin/includes/class-wp-filesystem-ssh2.php
===================================================================
--- wp-admin/includes/class-wp-filesystem-ssh2.php	(revision 36310)
+++ wp-admin/includes/class-wp-filesystem-ssh2.php	(working copy)
@@ -437,7 +437,12 @@
 	 * @return bool
 	 */
 	public function exists($file) {
-		return file_exists( $this->sftp_path( $file ) );
+		$stat = @ssh2_sftp_stat( $this->sftp_link, $file );
+		if ( false === $stat ) {
+			return false;
+		}
+		
+		return (true);
 	}
 
 	/**
@@ -447,7 +452,14 @@
 	 * @return bool
 	 */
 	public function is_file($file) {
-		return is_file( $this->sftp_path( $file ) );
+		$stat = @ssh2_sftp_stat( $this->sftp_link, $file );
+		if ( false === $stat ) {
+			return false;
+		}
+		
+		$mode = $stat['mode'];
+		$type = $mode & 0xf000;
+		return ($type == 0x8000);
 	}
 
 	/**
@@ -457,7 +469,14 @@
 	 * @return bool
 	 */
 	public function is_dir($path) {
-		return is_dir( $this->sftp_path( $path ) );
+		$stat = @ssh2_sftp_stat( $this->sftp_link, $path );
+		if ( false === $stat ) {
+			return false;
+		}
+		
+		$mode = $stat['mode'];
+		$type = $mode & 0xf000;
+		return ($type == 0x4000);
 	}
 
 	/**
@@ -467,7 +486,13 @@
 	 * @return bool
 	 */
 	public function is_readable($file) {
-		return is_readable( $this->sftp_path( $file ) );
+		$stat = @ssh2_sftp_stat( $this->sftp_link, $file );
+		if ( false === $stat ) {
+			return false;
+		}
+		
+		$mode = $stat['mode'];
+		return ($type & 0x0004);
 	}
 
 	/**
@@ -488,7 +513,12 @@
 	 * @return int
 	 */
 	public function atime($file) {
-		return fileatime( $this->sftp_path( $file ) );
+		$stat = @ssh2_sftp_stat( $this->sftp_link, $file );
+		if ( false === $stat ) {
+			return false;
+		}
+		
+		return $stat['atime'];
 	}
 
 	/**
@@ -498,7 +528,12 @@
 	 * @return int
 	 */
 	public function mtime($file) {
-		return filemtime( $this->sftp_path( $file ) );
+		$stat = @ssh2_sftp_stat( $this->sftp_link, $file );
+		if ( false === $stat ) {
+			return false;
+		}
+		
+		return $stat['mtime'];
 	}
 
 	/**
@@ -508,7 +543,12 @@
 	 * @return int
 	 */
 	public function size($file) {
-		return filesize( $this->sftp_path( $file ) );
+		$stat = @ssh2_sftp_stat( $this->sftp_link, $file );
+		if ( false === $stat ) {
+			return false;
+		}
+		
+		return $stat['size'];
 	}
 
 	/**
