{"id":9419,"date":"2017-02-12T19:58:55","date_gmt":"2017-02-12T18:58:55","guid":{"rendered":"http:\/\/www.palentino.es\/blog\/?p=9419"},"modified":"2017-02-12T20:05:32","modified_gmt":"2017-02-12T19:05:32","slug":"tecnicas-de-conexion-a-servidores-windows-mediante-linea-de-comandos-cli","status":"publish","type":"post","link":"https:\/\/www.palentino.es\/blog\/tecnicas-de-conexion-a-servidores-windows-mediante-linea-de-comandos-cli\/","title":{"rendered":"T\u00e9cnicas de conexi\u00f3n a servidores Windows mediante l\u00ednea de comandos (CLI)"},"content":{"rendered":"<p>Existen varias alternativas para manejar un servidor Windows mediante consola de comandos (CLI). Siempre he preferido conectar a los servidores mediante escritorio remoto (<strong>RDP<\/strong>)\u00a0 o mediante el uso de <strong>Terminal Server o Escritorio remoto, <a href=\"https:\/\/es.wikipedia.org\/wiki\/Citrix_Systems\" target=\"_blank\">Citrix<\/a>, <a href=\"https:\/\/es.wikipedia.org\/wiki\/VNC\" target=\"_blank\">VNC<\/a><\/strong>, pero los servidores Windows, poseen diversos m\u00e9todos de conexi\u00f3n mediante comandos similares a los que ofrece GNU\/Linux, que es necesario conocer.<\/p>\n<p>Os comentar\u00e9 de forma breve, cada una de ellas, para que pod\u00e1is investigar m\u00e1s y tirar del hilo en cada t\u00e9cnica de conexi\u00f3n a utilizar.<\/p>\n<p><!--more--><\/p>\n<h2><strong>WINRS\/WINRM<\/strong><\/h2>\n<p>El primero de ellos, no muy conocido es mediante <strong>WinRS\/WinRM<\/strong>, Shell remoto de Windows.<\/p>\n<p>Puede ser usado lanzando una instancia <strong>cmd<\/strong>, en el sistema remoto. Esta herramienta se encuentra incluida en diversos sistemas Windows (VISTA, 8, 10). Se pueden ejecutar comandos especialmente en servidores sin monitor. <strong>WINROM<\/strong> es una implementaci\u00f3n del protocolo <strong>WSManagement de Microsoft, usando SOAP<\/strong>. Para comprender su uso, es necesario pensar que debe estar ejecut\u00e1ndose el servicio en la maquina donde nos queremos conectar y luego emplear un cliente desde el sitio donde deseamos gestionar.<\/p>\n<p>Para comenzar se puede ejecutar <strong>winrm quickconfig<\/strong> en l\u00ednea de comandos.<\/p>\n<p>En el lado del cliente se puede ejecutar <strong>winrs -r:servidor cmd<\/strong><\/p>\n<p>Podemos ver m\u00e1s comandos de conexi\u00f3n en la excelente p\u00e1gina de <strong>ss64<\/strong>:<br \/>\n<a href=\"https:\/\/ss64.com\/nt\/winrs.html\" target=\"_blank\">https:\/\/ss64.com\/nt\/winrs.html<\/a><\/p>\n<h2><strong>Mediante PowerShell<\/strong><\/h2>\n<p>El PowerShell es un int\u00e9rprete de comandos evolucionado algo m\u00e1s potente que el CMD. Por ejemplo en sistemas Windows. La siguiente entrada os mostrar\u00e9 algunas caracter\u00edsticas de este Shell, como activarlo y sacar partido desde Windows 10. Puede actuar de forma similar al SSH para el uso de terminales remotos. Para usarlo de forma remota, es necesario activarlo, puesto que viene desactivado por defecto.<\/p>\n<p>Desde el terminal donde nos queremos conectar, tendremos que ejecutar un powershell como administradores, con el segundo bot\u00f3n del rat\u00f3n, ejecutar como administrador.<\/p>\n<p>Para activar el servicio es necesario ejecutar lo que se conoce como un cmdlet en powetshell<\/p>\n<p><strong>Enable-PSRemoting \u2013Force<\/strong><\/p>\n<p>Este comando arranca el servicio WINRM, y crea una regla en el firewall para permitir conexiones entrantes. Las opciones pueden variar si conextamos desde una maquina con dominio o desde un workgroup. Mejor es investigar estos par\u00e1metros.<\/p>\n<p>Para conectar desde el cliente, tenemos que ejecutar otro cmdlet<\/p>\n<p><strong>Test-WsMan ordenador-destino<\/strong><\/p>\n<p>Si el comando se ejecuta correctamente, se mostrar\u00e1 informaci\u00f3n sobre el servicio remoto en la ventana powershell.<\/p>\n<p>Para ejecutar un comando remoto, a sintaxis es la siguiente:<\/p>\n<p><strong>Invoke-Command -ComputerName ordenador-destino -ScriptBlock { COMMAND } -credential USERNAME<\/strong><\/p>\n<p>Pedir\u00e1 el usuario y password.<\/p>\n<h2><strong>Remote Desktop<\/strong><\/h2>\n<p>Esta opci\u00f3n es la que generalmente se usa para conectarse mediante <strong>RDP<\/strong> o escritorio remoto, pero existe la posibilidad de lanzar un CMD\u00a0 a trav\u00e9s de RDP. Mediante lo que se conoce como \u201c<strong>Server Core<\/strong>\u201d. Permite a los administradores s\u00f3lo instalar los m\u00ednimos binarios necesarios para su uso. El Server core no tiene un <strong>GUI<\/strong> real.<\/p>\n<p>Antes de usarlo, tenemos que configurar una Ip, el nombre del servidor, su password y el firewall.<\/p>\n<p>En el servidor donde se encuentra la instalaci\u00f3n Server Core, tecleamos<\/p>\n<p><strong>cscript C:\\Windows\\System32\\Scregedit.wsf \/ar 0<\/strong><\/p>\n<p>Esto activa el escritorio remoto en modo administrador para aceptar conexiones. Para ver el estado actual puedes teclear:<\/p>\n<p><strong>cscript C:\\Windows\\System32\\Scregedit.wsf \/ar \/v<\/strong><\/p>\n<p>Si muestra un 1, en la salida del script, significa que las conexiones \u00a0RPD se encuentran denegadas. Un 0 significa que son posibles.<\/p>\n<p>Este otro comando<\/p>\n<p><strong>netsh advfirewall firewall set rule group=&#8221;Remote Desktop&#8221; new enable=yes<\/strong><\/p>\n<p>Activa el RDP para conexiones a trav\u00e9s del cortafuegos.<\/p>\n<p>Para abrir una sesi\u00f3n RDP, desde el ordenador remoto, tecleamos<\/p>\n<p><strong>Mstsc<\/strong>, y escribimos el nombre de la m\u00e1quina que ejecuta el Server Core<\/p>\n<p>Una vez realizado esto, al entrar como administradores, aparecer\u00e1 un cmd para gestionar el equipo mediante l\u00ednea de comandos.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>Instalaci\u00f3n de SSH en Windows Server.<\/strong><\/h2>\n<p>Probablemente sea la opci\u00f3n m\u00e1s empleada por los sysadmins en otros sistemas (*nix, BSD, Gnu\/Linux). Para ello tendremos que instalar un OpenSSH en nuestro servidor Windows.<\/p>\n<p>Puedes descargar OpenSSH desde aqu\u00ed, y procura tener en cuenta el firewall. Para permitir conexiones SSH a trav\u00e9s del cortafuegos.<\/p>\n<p><strong>netsh firewall set portopening TCP\u00a022 &#8220;OpenSSH\u00a0TCP22&#8221;<\/strong><\/p>\n<p>Como has podido observar, en casi todos los m\u00e9todos de conexi\u00f3n ha sido necesario configurar reglas de acceso sobre el cortafuegos.<\/p>\n<p>Es necesario configurar ciertos servicios como las DNS, DHCP y el SNMP.<\/p>\n<p>Para configurar al detalle el ssh os dejo este enlace, parece que funciona correctamente sobre Windows 2012 server:<\/p>\n<p><a href=\"https:\/\/social.technet.microsoft.com\/wiki\/contents\/articles\/1474.how-to-set-up-server-core-for-windows-server-2008-to-be-managed-via-ssh.aspx\">https:\/\/social.technet.microsoft.com\/wiki\/contents\/articles\/1474.how-to-set-up-server-core-for-windows-server-2008-to-be-managed-via-ssh.aspx<\/a><\/p>\n<p>Puedes conectar por ejemplo con un cliente gratuito como <a href=\"http:\/\/www.putty.org\/\" target=\"_blank\">Putty<\/a>\u00a0(yo le empleo bastante en sistemas GNU\/Linux).<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>Ejecuci\u00f3n de PSExec<\/strong><\/h2>\n<p>La opci\u00f3n de conectarse mediante ejecuci\u00f3n de comandos remota o CLI, parti\u00f3 inicialmente de una suite excelente para los administradores de sistemas que formaba parte de la suite Systernals.<br \/>\n<a href=\"https:\/\/technet.microsoft.com\/en-us\/sysinternals\/bb897553.aspx\" target=\"_blank\">https:\/\/technet.microsoft.com\/en-us\/sysinternals\/bb897553.aspx<\/a><\/p>\n<p>Era una software en su momento que todos los administradores usaban como herramienta imprescindible, tanto fue as\u00ed que fue adquirida por Microsoft, y es una utilidad oficialmente soportada por Microsoft. Junto WinRS \/RM, PSExec puede usarse para lanzar comandos remotos a un servidor o lanzar instancia cmd a una maquina remota.<\/p>\n<p>Ejemplo: <strong>psexec \\\\miservidor.com cmd<\/strong><\/p>\n<p>Como las anteriores opciones, existen una serie de pasos que primero es necesario realizar para asegurarse que PSExec es capaz de conectar a la maquina destino.<br \/>\n<a href=\"http:\/\/www.gabohome.com\/blog\/pstools-administracion-remota-en-consola-de-comandos-%E2%80%93-consola-remota\/?i=1\" target=\"_blank\">http:\/\/www.gabohome.com\/blog\/pstools-administracion-remota-en-consola-de-comandos-%E2%80%93-consola-remota\/?i=1<\/a><\/p>\n<h2><strong>Mediante el Servidor Telnet<\/strong><\/h2>\n<p>Finalizando, os dejo este otro mecanismo, que es soportado por el sistema operativo Windows. No suele ser muy seguro en sus comunicaciones por cuestiones de cifrado. Pero esto pasa en todos los sistemas.<\/p>\n<p>No obstante a trav\u00e9s del mecanismo de autenticaci\u00f3n <strong>NTLM<\/strong> , a diferencia de otros telnets, se puede evitar el envi\u00f3 de credenciales no cifradas en las validaciones.<\/p>\n<p>Os dejo el enlace para su configuraci\u00f3n con este tipo de autenticaci\u00f3n. Funciona tambi\u00e9n bastante bien.<\/p>\n<p><a href=\"https:\/\/technet.microsoft.com\/en-us\/library\/bccaae42-0e1a-4100-a6bc-0690ce69fcfa\" target=\"_blank\">https:\/\/technet.microsoft.com\/en-us\/library\/bccaae42-0e1a-4100-a6bc-0690ce69fcfa<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Existen varias alternativas para manejar un servidor Windows mediante consola de comandos (CLI). Siempre he preferido conectar a los servidores mediante escritorio remoto (RDP)\u00a0 o mediante el uso de Terminal Server o Escritorio remoto, Citrix, VNC, pero los servidores Windows, poseen diversos m\u00e9todos de conexi\u00f3n mediante comandos similares a los que ofrece GNU\/Linux, que es necesario conocer. Os comentar\u00e9 de forma breve, cada una de ellas, para que pod\u00e1is investigar m\u00e1s y tirar del hilo en cada t\u00e9cnica de conexi\u00f3n a utilizar.<\/p>\n","protected":false},"author":1,"featured_media":9420,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[2170,2171,199,202,251],"class_list":["post-9419","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-servidores","tag-cli","tag-cmd","tag-servidores","tag-sysadmin","tag-windows"],"_links":{"self":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/9419","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/comments?post=9419"}],"version-history":[{"count":4,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/9419\/revisions"}],"predecessor-version":[{"id":9424,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/9419\/revisions\/9424"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/media\/9420"}],"wp:attachment":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/media?parent=9419"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/categories?post=9419"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/tags?post=9419"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}