{"id":461,"date":"2026-04-14T14:28:42","date_gmt":"2026-04-14T14:28:42","guid":{"rendered":"https:\/\/equipomedios.com\/blog\/?p=461"},"modified":"2026-04-14T14:28:42","modified_gmt":"2026-04-14T14:28:42","slug":"ssh-y-svn-en-vs-code-como-configurar-conexiones-seguras-sin-errores-de-autenticacion","status":"publish","type":"post","link":"https:\/\/equipomedios.com\/blog\/ssh-y-svn-en-vs-code-como-configurar-conexiones-seguras-sin-errores-de-autenticacion\/","title":{"rendered":"SSH y SVN en VS Code: C\u00f3mo configurar conexiones seguras sin errores de autenticaci\u00f3n"},"content":{"rendered":"<p data-path-to-node=\"4\">Si ya lograste integrar <b data-path-to-node=\"4\" data-index-in-node=\"24\">TortoiseSVN<\/b> con <b data-path-to-node=\"4\" data-index-in-node=\"40\">Visual Studio Code<\/b>, el siguiente gran desaf\u00edo es la seguridad.<\/p>\n<p data-path-to-node=\"4\">En entornos profesionales, trabajar con repositorios locales es raro; lo normal es conectarse a servidores remotos mediante <b data-path-to-node=\"4\" data-index-in-node=\"227\">SSH (Secure Shell)<\/b>.<\/p>\n<p data-path-to-node=\"5\">Sin embargo, configurar el t\u00fanel SSH para que VS Code y SVN se entiendan sin pedirte la contrase\u00f1a cada 5 segundos puede ser un dolor de cabeza. En esta gu\u00eda te ense\u00f1amos a configurar una conexi\u00f3n fluida y profesional.<\/p>\n<h3 data-path-to-node=\"7\"><strong>El problema: El molesto \u00abAuthentication Failed\u00bb<\/strong><\/h3>\n<p data-path-to-node=\"8\">Cuando usamos SVN sobre SSH (<code data-path-to-node=\"8\" data-index-in-node=\"29\">svn+ssh:\/\/<\/code>), VS Code a menudo falla porque no encuentra las llaves privadas o el agente de autenticaci\u00f3n no est\u00e1 corriendo. Para solucionar esto, no necesitamos trucos m\u00e1gicos, sino una configuraci\u00f3n limpia.<\/p>\n<h3 data-path-to-node=\"9\"><strong>Paso 1: Generar tus llaves con PuTTYgen<\/strong><\/h3>\n<p data-path-to-node=\"10\">Para usuarios de Windows, la forma m\u00e1s estable es usar el ecosistema <strong>PuTTY<\/strong>.<\/p>\n<ol start=\"1\" data-path-to-node=\"11\">\n<li>\n<p data-path-to-node=\"11,0,0\">Abre <b data-path-to-node=\"11,0,0\" data-index-in-node=\"5\">PuTTYgen<\/b>.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"11,1,0\">Haz clic en <b data-path-to-node=\"11,1,0\" data-index-in-node=\"12\">Generate<\/b> y mueve el mouse para crear aleatoriedad.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"11,2,0\">Guarda tu llave privada (<code data-path-to-node=\"11,2,0\" data-index-in-node=\"25\">.ppk<\/code>) en un lugar seguro.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"11,3,0\"><b data-path-to-node=\"11,3,0\" data-index-in-node=\"0\">IMPORTANTE:<\/b> Copia la llave p\u00fablica que aparece en el cuadro superior y pegala en el archivo <code data-path-to-node=\"11,3,0\" data-index-in-node=\"92\">authorized_keys<\/code> de tu servidor SVN.<\/p>\n<\/li>\n<\/ol>\n<h3 data-path-to-node=\"13\"><strong>Paso 2: Configurar Pageant (El agente de llaves)<\/strong><\/h3>\n<p data-path-to-node=\"14\">Para que no tengas que escribir tu frase de contrase\u00f1a todo el tiempo, necesitamos que un agente \u00abrecuerde\u00bb la llave por nosotros.<\/p>\n<ol start=\"1\" data-path-to-node=\"15\">\n<li>\n<p data-path-to-node=\"15,0,0\">Abre <b data-path-to-node=\"15,0,0\" data-index-in-node=\"5\">Pageant<\/b> (viene con la instalaci\u00f3n de TortoiseSVN).<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"15,1,0\">Haz clic derecho en el \u00edcono de la bandeja de sistema y elige <b data-path-to-node=\"15,1,0\" data-index-in-node=\"62\">Add Key<\/b>.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"15,2,0\">Selecciona tu archivo <code data-path-to-node=\"15,2,0\" data-index-in-node=\"22\">.ppk<\/code>.<\/p>\n<\/li>\n<\/ol>\n<p data-path-to-node=\"16\">Ahora, mientras Pageant est\u00e9 abierto, cualquier intento de conexi\u00f3n de SVN usar\u00e1 esa llave autom\u00e1ticamente.<\/p>\n<h3 data-path-to-node=\"18\"><strong>Paso 3: Indicarle a SVN que use TortoisePlink<\/strong><\/h3>\n<p data-path-to-node=\"19\">Este es el paso donde la mayor\u00eda falla. SVN necesita saber qu\u00e9 programa debe usar para el t\u00fanel SSH.<\/p>\n<ol start=\"1\" data-path-to-node=\"20\">\n<li>\n<p data-path-to-node=\"20,0,0\">Abre el explorador de Windows, clic derecho &gt; <b data-path-to-node=\"20,0,0\" data-index-in-node=\"46\">TortoiseSVN &gt; Settings<\/b>.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"20,1,0\">Ve a la secci\u00f3n <b data-path-to-node=\"20,1,0\" data-index-in-node=\"16\">Network<\/b>.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"20,2,0\">En <b data-path-to-node=\"20,2,0\" data-index-in-node=\"3\">SSH client<\/b>, aseg\u00farate de que apunte a: <code data-path-to-node=\"20,2,0\" data-index-in-node=\"42\">C:\\Program Files\\TortoiseSVN\\bin\\TortoisePlink.exe<\/code><\/p>\n<\/li>\n<\/ol>\n<h3 data-path-to-node=\"22\"><strong>Paso 4: Probar la conexi\u00f3n en VS Code<\/strong><\/h3>\n<p data-path-to-node=\"23\">Ahora, abre tu proyecto en <b data-path-to-node=\"23\" data-index-in-node=\"27\">Visual Studio Code<\/b>.<\/p>\n<p data-path-to-node=\"23\">Si configuraste Pageant correctamente, la extensi\u00f3n de SVN deber\u00eda reconocer los cambios y permitirte hacer <i data-path-to-node=\"23\" data-index-in-node=\"155\">Update<\/i> o <i data-path-to-node=\"23\" data-index-in-node=\"164\">Commit<\/i> sin ventanas emergentes pidiendo credenciales.<\/p>\n<p data-path-to-node=\"24\"><b data-path-to-node=\"24\" data-index-in-node=\"0\">Tip Pro:<\/b> Si el servidor usa un puerto SSH que no es el est\u00e1ndar (22), record\u00e1 que la URL del repositorio debe verse as\u00ed: <code data-path-to-node=\"24\" data-index-in-node=\"121\">svn+ssh:\/\/usuario@servidor:puerto\/ruta\/al\/repo<\/code><\/p>\n<h2 data-path-to-node=\"26\"><strong>Conclusi\u00f3n<\/strong><\/h2>\n<p data-path-to-node=\"27\">La seguridad no tiene por qu\u00e9 sacrificar la comodidad.<\/p>\n<p data-path-to-node=\"27\">Configurar llaves SSH y un agente como Pageant es la diferencia entre un flujo de trabajo interrumpido y uno profesional.<\/p>\n<p data-path-to-node=\"28\"><b data-path-to-node=\"28\" data-index-in-node=\"0\">\u00bfTu empresa necesita migrar sus repositorios a un servidor seguro o configurar flujos de trabajo remotos?<\/b><\/p>\n<p data-path-to-node=\"28\">En <b data-path-to-node=\"28\" data-index-in-node=\"109\">Equipo Medios<\/b> optimizamos infraestructuras de desarrollo para que tu equipo solo se preocupe por programar.<\/p>\n<p data-path-to-node=\"29\"><b data-path-to-node=\"29\" data-index-in-node=\"0\">Contactanos hoy y hablemos de tu infraestructura t\u00e9cnica<\/b><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Si ya lograste integrar TortoiseSVN con Visual Studio Code, el siguiente gran desaf\u00edo es la seguridad. En entornos profesionales, trabajar con repositorios locales es raro; lo normal es conectarse a servidores remotos mediante SSH (Secure Shell). Sin embargo, configurar el t\u00fanel SSH para que VS Code y SVN se entiendan sin pedirte la contrase\u00f1a cada [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":462,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[31],"tags":[],"class_list":["post-461","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-herramientas"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/equipomedios.com\/blog\/wp-content\/uploads\/2026\/04\/Sin-titulo.png?fit=1081%2C545&ssl=1","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/posts\/461","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/comments?post=461"}],"version-history":[{"count":1,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/posts\/461\/revisions"}],"predecessor-version":[{"id":463,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/posts\/461\/revisions\/463"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/media\/462"}],"wp:attachment":[{"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/media?parent=461"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/categories?post=461"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/tags?post=461"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}