{"id":747,"date":"2011-07-07T02:21:50","date_gmt":"2011-07-07T02:21:50","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/ssh-sftp-updater-support\/"},"modified":"2026-03-25T10:41:33","modified_gmt":"2026-03-25T10:41:33","slug":"ssh-sftp-updater-support","status":"publish","type":"plugin","link":"https:\/\/pap-aw.wordpress.org\/plugins\/ssh-sftp-updater-support\/","author":15126,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.1.1","stable_tag":"1.1.1","tested":"7.0","requires":"5.0","requires_php":"5.6","requires_plugins":null,"header_name":"SSH SFTP Updater Support","header_author":"TerraFrost, David Anderson + Team Updraft","header_description":"","assets_banners_color":"","last_updated":"2026-03-25 10:41:33","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/sourceforge.net\/donate\/index.php?group_id=198487","header_plugin_uri":"","header_author_uri":"https:\/\/updraftplus.com","rating":4.8,"author_block_rating":0,"active_installs":10000,"downloads":538794,"num_ratings":100,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"0.3":{"tag":"0.3","author":"TerraFrost","date":"2012-05-03 12:08:27"},"0.4":{"tag":"0.4","author":"TerraFrost","date":"2013-01-11 00:20:13"},"0.5":{"tag":"0.5","author":"TerraFrost","date":"2014-11-10 04:06:12"},"0.6":{"tag":"0.6","author":"TerraFrost","date":"2015-05-23 15:15:32"},"0.6.1":{"tag":"0.6.1","author":"TerraFrost","date":"2015-05-10 22:28:24"},"0.7":{"tag":"0.7","author":"TerraFrost","date":"2015-05-23 15:25:53"},"0.7.1":{"tag":"0.7.1","author":"TerraFrost","date":"2015-05-28 04:08:21"},"0.7.2":{"tag":"0.7.2","author":"DavidAnderson","date":"2017-12-08 17:43:46"},"0.7.3":{"tag":"0.7.3","author":"DavidAnderson","date":"2018-02-19 15:59:05"},"0.7.4":{"tag":"0.7.4","author":"DavidAnderson","date":"2018-08-25 14:06:23"},"0.7.5":{"tag":"0.7.5","author":"DavidAnderson","date":"2018-10-20 10:01:51"},"0.7.6":{"tag":"0.7.6","author":"DavidAnderson","date":"2018-11-26 12:01:59"},"0.8.0":{"tag":"0.8.0","author":"DavidAnderson","date":"2019-02-15 22:28:18"},"0.8.1":{"tag":"0.8.1","author":"DavidAnderson","date":"2019-04-29 15:04:15"},"0.8.2":{"tag":"0.8.2","author":"DavidAnderson","date":"2020-11-19 23:11:17"},"0.8.3":{"tag":"0.8.3","author":"DavidAnderson","date":"2020-12-19 18:20:34"},"0.8.4":{"tag":"0.8.4","author":"DavidAnderson","date":"2022-10-11 23:40:00"},"0.8.5":{"tag":"0.8.5","author":"DavidAnderson","date":"2024-07-04 14:15:12"},"0.8.6":{"tag":"0.8.6","author":"DavidAnderson","date":"2024-07-04 14:49:57"},"0.8.8":{"tag":"0.8.8","author":"DavidAnderson","date":"2024-10-30 16:31:01"},"0.9.0":{"tag":"0.9.0","author":"DavidAnderson","date":"2024-12-18 21:59:58"},"1.0.0":{"tag":"1.0.0","author":"DavidAnderson","date":"2025-11-12 16:20:54"},"1.1.0":{"tag":"1.1.0","author":"DavidAnderson","date":"2025-12-16 13:59:16"},"1.1.1":{"tag":"1.1.1","author":"DavidAnderson","date":"2026-03-25 10:41:33"}},"upgrade_notice":{"":"<ul>\n<li>1.1.1: Resolve PHP notice. N.B. If you are currently on 0.8.7 and cannot update through the dashboard, then you can download the plugin manually from https:\/\/downloads.wordpress.org\/plugin\/ssh-sftp-updater-support.1.1.1.zip and upload it in your WP dashboard in &quot;Plugins -&gt; Add New -&gt; Upload Zip&quot;.<\/li>\n<\/ul>"},"ratings":{"1":4,"2":0,"3":0,"4":1,"5":95},"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.3","0.4","0.5","0.6","0.6.1","0.7","0.7.1","0.7.2","0.7.3","0.7.4","0.7.5","0.7.6","0.8.0","0.8.1","0.8.2","0.8.3","0.8.4","0.8.5","0.8.6","0.8.8","0.9.0","1.0.0","1.1.0","1.1.1"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[10757,38959],"plugin_category":[],"plugin_contributors":[77630,91989,78454],"plugin_business_model":[],"class_list":["post-747","plugin","type-plugin","status-publish","hentry","plugin_tags-sftp","plugin_tags-ssh","plugin_contributors-davidanderson","plugin_contributors-pmbaldha","plugin_contributors-terrafrost","plugin_committers-davidanderson","plugin_committers-terrafrost","plugin_support_reps-bcrodua"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/ssh-sftp-updater-support.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>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.<\/p>\n\n<p>To use it, after installing and activating the plugins, add the necessary constants early in the code in your wp-config.php:<\/p>\n\n<p>a) <code>define('FS_METHOD', 'ssh2');<\/code><\/p>\n\n<p>b) Others as <a href=\"https:\/\/developer.wordpress.org\/apis\/wp-config-php\/#wordpress-upgrade-constants\">detailed in the official WP codex<\/a><\/p>\n\n<p>This plugin is offered and maintained as a free service to the WP community. You might also be interested in enhancing your WordPress site with our other top plugins, below.<\/p>\n\n<ul>\n<li><strong><a href=\"https:\/\/updraftplus.com\/?ref=212&amp;source=sshsmtp\">UpdraftPlus<\/a><\/strong> simplifies backups and restoration. It is the #1 most-used backup\/restore plugin, with over a million currently-active installs.<\/li>\n<li><strong><a href=\"https:\/\/updraftplus.com\/updraftcentral\/?ref=212&amp;source=sshsmtp\">UpdraftCentral<\/a><\/strong> - a highly efficient way to manage, optimize, update and backup multiple websites from one place.<\/li>\n<li><strong><a href=\"https:\/\/getwpo.com\/\">WP-Optimize<\/a><\/strong> helps you to optimize and clean your WordPress database so that it runs at maximum efficiency.<\/li>\n<li><strong>More quality plugins<\/strong>: <strong><a href=\"https:\/\/www.simbahosting.co.uk\/s3\/shop\/\">Premium WooCommerce extensions<\/a><\/strong> | <strong><a href=\"https:\/\/profiles.wordpress.org\/davidanderson#content-plugins\">Other useful plugins<\/a><\/strong><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li><p>Upload the files to the <code>\/wp-content\/plugins\/ssh-sftp-updater-support<\/code> directory<\/p><\/li>\n<li><p>Activate the plugin through the 'Plugins' menu in WordPress<\/p><\/li>\n<li><p>Add the necessary constants early in the code in your wp-config.php:<\/p><\/li>\n<\/ol>\n\n<p>a) <code>define('FS_METHOD', 'ssh2');<\/code><\/p>\n\n<p>b) Others as <a href=\"https:\/\/developer.wordpress.org\/apis\/wp-config-php\/#wordpress-upgrade-constants\">detailed in the official WP codex<\/a> or various other articles (Google for things like WordPress updates via SFTP).<\/p>\n\n<!--section=changelog-->\n<h4>1.1.1 - 2026\/Jan\/26<\/h4>\n\n<ul>\n<li>TWEAK: Prevent PHP notice for undefined variable in a dashboard context<\/li>\n<\/ul>\n\n<h4>1.1.0 - 2025\/Dec\/16<\/h4>\n\n<ul>\n<li>TWEAK: Update the bundled phpseclib library to the latest 3.0 version.<\/li>\n<\/ul>\n\n<h4>1.0.0 - 2024\/Dec\/24<\/h4>\n\n<ul>\n<li>FEATURE: Updated bundled phpseclib library to 3.0 series and amend code accordingly, thereby bringing access to various newer cryptographic algorithms<\/li>\n<li>REQUIREMENTS: Requires PHP 5.6+ (as required by phpseclib 3.0)<\/li>\n<\/ul>\n\n<h4>0.9.0 - 2024\/Dec\/18<\/h4>\n\n<ul>\n<li>TWEAK: Updated bundled phpseclib library to 2.0 series<\/li>\n<li>REQUIREMENTS: Requires PHP 5.3+ (as required by phpseclib 2.0)<\/li>\n<li>REQUIREMENTS: Requires WP 5.0<\/li>\n<\/ul>\n\n<h4>0.8.8 - 2024\/Oct\/29<\/h4>\n\n<ul>\n<li>FIX: Remove unwanted tab from the \"private key\" field, and remove duplicate radio buttons (regression in 0.8.7). You can download the plugin manually from https:\/\/downloads.wordpress.org\/plugin\/ssh-sftp-updater-support.0.8.8.zip and upload it in your WP dashboard in \"Plugins -&gt; Add New -&gt; Upload Zip\" if you are having trouble updating through the dashboard.<\/li>\n<\/ul>\n\n<h4>0.8.7 - 2024\/Oct\/28<\/h4>\n\n<ul>\n<li>TWEAK: Add some missing translation domains<\/li>\n<li>TWEAK: Resolve Plugin Check messages<\/li>\n<li>TWEAK: Add explicit License field<\/li>\n<\/ul>\n\n<h4>0.8.6 - 2024\/Jul\/04<\/h4>\n\n<ul>\n<li>TWEAK: Update to latest 1.0.x version of phpseclib<\/li>\n<\/ul>\n\n<h4>0.8.5 - 2022\/Dec\/08<\/h4>\n\n<ul>\n<li>TWEAK: Update URL reference to current location<\/li>\n<\/ul>\n\n<h4>0.8.4 - 2020\/Dec\/30<\/h4>\n\n<ul>\n<li>TWEAK: Remove obsolete references to other plugins<\/li>\n<li>TWEAK: Replace some further deprecated jQuery styles<\/li>\n<li>TWEAK: Update to latest 1.0.x version of phpseclib<\/li>\n<\/ul>\n\n<h4>0.8.3 - 2020\/Dec\/19<\/h4>\n\n<ul>\n<li>TWEAK: Replace deprecated jQuery style<\/li>\n<\/ul>\n\n<h4>0.8.2 - 2019\/Jun\/22<\/h4>\n\n<ul>\n<li>TWEAK: Make the FTP_ constants apply.<\/li>\n<\/ul>\n\n<h4>0.8.1 - 2019\/Apr\/13<\/h4>\n\n<ul>\n<li>TWEAK: Don't require phpseclib classes if they already exist<\/li>\n<\/ul>\n\n<h4>0.8.0 - 2018\/Dec\/14<\/h4>\n\n<ul>\n<li>TWEAK: Replaced the deprecated 'var' visibility indicator<\/li>\n<li>TWEAK: Add various sanity checks to return error codes instead of causing fatal errors if another component calls the WP_Filesystem API incorrectly<\/li>\n<li>TWEAK: Add an extra sanity check that should prevent a fatal error if a component directly requests the 'direct' filesystem method but WP won't let it have it<\/li>\n<\/ul>\n\n<h4>0.7.6 - 2018\/Nov\/26<\/h4>\n\n<ul>\n<li>TWEAK: Clarify the installation instructions<\/li>\n<li>TWEAK: Add function visibility markers throughout WP_Filesystem_SSH2<\/li>\n<\/ul>\n\n<h4>0.7.5 - 2018\/Oct\/13<\/h4>\n\n<ul>\n<li>TWEAK: Replace use of the submit_button() function (one user was seeing a fatal error related to it)<\/li>\n<\/ul>\n\n<h4>0.7.4 - 2018\/Aug\/25<\/h4>\n\n<ul>\n<li>TWEAK: Update phpseclib to latest version (1.0.10)<\/li>\n<li>TWEAK: Replace deprecated constructor for WP_Filesystem_SSH2 class<\/li>\n<li>TWEAK: Adds a \"Other useful plugins\" link on the plugin listing page and 'thank you' notice<\/li>\n<\/ul>\n\n<h4>0.7.3<\/h4>\n\n<ul>\n<li>TWEAK: Update phpseclib to latest version (1.0.10)<\/li>\n<li>TWEAK: Ship complete phpseclib library so that other plugins using it after we have loaded it don't have problems<\/li>\n<li>TWEAK: Some minor internal re-factoring<\/li>\n<li>TWEAK: Adds a dismissable (and won't reappear for 12 months) notice about other plugins users may be interested in.<\/li>\n<\/ul>\n\n<h4>0.7.2<\/h4>\n\n<ul>\n<li>update phpseclib to latest version<\/li>\n<\/ul>\n\n<h4>0.7.1<\/h4>\n\n<ul>\n<li>remove deprecated function<\/li>\n<\/ul>\n\n<h4>0.7.0<\/h4>\n\n<ul>\n<li>disable modal dialog and use full screen real page when prompting for information<\/li>\n<\/ul>\n\n<h4>0.6.1<\/h4>\n\n<ul>\n<li>fix a few compatibility issues with 4.2<\/li>\n<\/ul>\n\n<h4>0.6<\/h4>\n\n<ul>\n<li>update phpseclib to latest version<\/li>\n<li>make plugin work with 4.2's new modal dialog<\/li>\n<\/ul>\n\n<h4>0.5<\/h4>\n\n<ul>\n<li>update phpseclib to latest version<\/li>\n<\/ul>\n\n<h4>0.4<\/h4>\n\n<ul>\n<li>fix an E_NOTICE (thanks, runblip!)<\/li>\n<li>make it so keys that are copy \/ pasted in are saved with HTML5's localStorage (thanks, kkzk!)<\/li>\n<li>update phpseclib to latest Git<\/li>\n<\/ul>\n\n<h4>0.3<\/h4>\n\n<ul>\n<li>update phpseclib to latest SVN<\/li>\n<li>read file when FTP_PRIKEY is defined (thanks, lkraav!)<\/li>\n<\/ul>\n\n<h4>0.2<\/h4>\n\n<ul>\n<li>recursive deletes weren't working correctly (directories never got deleted - just files)<\/li>\n<li>use SFTP for recursive chmod instead of SSH \/ exec<\/li>\n<li>fix plugin for people using custom WP_CONTENT_DIR values (thanks, dd32!)<\/li>\n<li>plugin prevented non-SFTP install methods from being used<\/li>\n<li>make it so private keys can be uploaded in addition to being copy \/ pasted<\/li>\n<\/ul>\n\n<h4>0.1<\/h4>\n\n<ul>\n<li>Initial Release<\/li>\n<\/ul>","raw_excerpt":"&quot;SSH SFTP Updater Support&quot; is the easiest way to keep your WordPress installation up-to-date with SFTP.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/747","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=747"}],"author":[{"embeddable":true,"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/terrafrost"}],"wp:attachment":[{"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=747"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=747"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=747"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=747"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=747"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=747"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}