If it were a folder permission error you would connect but get an error about permissions.
First enable WP_DEBUG in wp-config
If you have root access, check your php error log, and syslog in /var/log
From a shell, try FTPing to localhost does it work? Can you read and write to your plugins
folder? Now also try from a remote machine FTPing into the server and again checking your read/write permissions.
Try setting the FTP details in wp-config
define( 'FS_METHOD', 'ftpext' );
define( 'FTP_BASE', '/path/to/wordpress/' );
define( 'FTP_CONTENT_DIR', '/path/to/wordpress/wp-content/' );
define( 'FTP_PLUGIN_DIR ', '/path/to/wordpress/wp-content/plugins/' );
define( 'FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub' );
define( 'FTP_PRIKEY', '/home/username/.ssh/id_rsa' );
define( 'FTP_USER', 'username' );
define( 'FTP_PASS', 'password' );
define( 'FTP_HOST', 'ftp.example.org' );
define( 'FTP_SSL', false );
http://codex.wordpress.org/Editing_wp-config.php#WordPress_Upgrade_Constants
Figure out why you can't connect first. Then move on to folder permissions which is much easier to debug.
If you still have trouble just use this plugin http://wordpress.org/plugins/ssh-sftp-updater-support/
Keeping your WordPress install up-to-date and installing plugins in a
hassle-free manner is not so easy if your server uses SFTP. "SSH SFTP
Updater Support" for WordPress uses phpseclib to remedy this
deficiency.