{"id":3856,"date":"2018-05-17T13:44:41","date_gmt":"2018-05-17T16:44:41","guid":{"rendered":"https:\/\/blog.umbler.com\/?p=3856"},"modified":"2018-12-05T09:33:16","modified_gmt":"2018-12-05T11:33:16","slug":"acesso-remoto-por-rdp","status":"publish","type":"post","link":"https:\/\/blog.umbler.com\/br\/acesso-remoto-por-rdp\/","title":{"rendered":"Acesso remoto por RDP a partir do Linux usando o FreeRDP"},"content":{"rendered":"<p>Podemos dizer, com certeza, que j\u00e1 estamos vivendo na era do trabalho remoto, e isso abre portas para infinitas possibilidades. N\u00e3o podemos mais nos dar ao luxo de nos limitarmos por tecnologias. Tudo est\u00e1 valendo, desde que voc\u00ea consiga resolver o seu problema em um tempo vi\u00e1vel e favor\u00e1vel para sua situa\u00e7\u00e3o.<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"wp-image-3859 aligncenter\" src=\"https:\/\/blog.umbler.com\/wp-content\/uploads\/2018\/05\/remote-probs-02.jpg\" alt=\"\" width=\"800\" height=\"531\" \/><\/p>\n<p>Ent\u00e3o, o que esse mundo exige de n\u00f3s? Quais desafios nos apresenta? O que devemos saber para viver em um mundo t\u00e3o fortemente orientado \u00e0 comunica\u00e7\u00e3o digital? Para ajudar nessas e em outras quest\u00f5es, a Umbler preparou uma s\u00e9rie de posts sobre trabalho remoto:<\/p>\n<ul>\n<li><a href=\"https:\/\/blog.umbler.com\/br\/trabalho-remoto-era-dos-nomades-digitais\/\">Trabalho remoto: a era dos n\u00f4mades digitais<\/a><\/li>\n<li><a href=\"https:\/\/blog.umbler.com\/br\/trabalho-remoto-e-nova-lei-trabalhista-o-home-office-na-umbler\/\">Trabalho remoto e a nova lei trabalhista: o home office na Umbler<\/a><\/li>\n<li><a href=\"https:\/\/blog.umbler.com\/br\/mitos-e-verdades-sobre-lideranca-remota\/\">Mitos e verdades sobre lideran\u00e7a remota<\/a><\/li>\n<\/ul>\n<p>Ok, depois desse <strong>boom<\/strong> maravilhoso de informa\u00e7\u00f5es, pronto para brincar um pouco?!<br \/>\n<img decoding=\"async\" class=\"size-full wp-image-3857 aligncenter\" src=\"https:\/\/blog.umbler.com\/wp-content\/uploads\/2018\/05\/inspirational-let-it-go-meme-let-go-memes-let-it-go-meme.jpg\" alt=\"\" width=\"400\" height=\"300\" \/><\/p>\n<p>Neste post da s\u00e9rie, seguindo a onda do trabalho remoto e a explos\u00e3o de tecnologias que a computa\u00e7\u00e3o em nuvem acaba gerando para n\u00f3s diariamente, vamos focar em uma situa\u00e7\u00e3o bem comum: a conex\u00e3o remota pelo protocolo RDP.<\/p>\n<p><a href=\"https:\/\/support.microsoft.com\/pt-br\/help\/186607\/understanding-the-remote-desktop-protocol-rdp\" target=\"_blank\" rel=\"noopener\">RDP<\/a> (Remote Desktop Protocol) \u00e9 o principal protocolo quando o assunto \u00e9 conex\u00e3o remota com computadores que utilizam o sistema operacional Windows. Ent\u00e3o, \u00e9 muito comum encontrar pessoas nas empresas que se conectam em m\u00e1quinas remotas Windows a partir de outras m\u00e1quinas Windows, tendo em vista a implementa\u00e7\u00e3o nativa deste protocolo. Por\u00e9m, imagine que voc\u00ea esteja em um cen\u00e1rio onde precisa se conectar no Windows, mas tenha em m\u00e3os somente uma m\u00e1quina com Linux? Pois n\u00e3o se desespere (ainda :), h\u00e1 uma grande chance de seu problema ser resolvido com o <a href=\"https:\/\/www.freerdp.com\/\" target=\"_blank\" rel=\"noopener\">FreeRDP<\/a>.<\/p>\n<p><img decoding=\"async\" class=\"wp-image-3858 size-full aligncenter\" src=\"https:\/\/blog.umbler.com\/wp-content\/uploads\/2018\/05\/hallelujah.jpg\" alt=\"\" width=\"900\" height=\"532\" \/>&lt;<\/p>\n<p>O FreeRDP \u00e9 uma implementa\u00e7\u00e3o do RDP sob os termos do software livre, estando licenciado pela <a href=\"https:\/\/www.apache.org\/licenses\/LICENSE-2.0\" target=\"_blank\" rel=\"noopener\">Apache License<\/a>. Seguindo as <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/dd208104.aspx\" target=\"_blank\" rel=\"noopener\">Open Specifications<\/a> da Microsoft, o FreeRDP fornece uma aplica\u00e7\u00e3o <em>client-side<\/em> para conex\u00f5es atrav\u00e9s do protocolo RDP.<\/p>\n<p>Atualmente, o FreeRDP encontra-se em sua vers\u00e3o <code>2.0.0<\/code>. O c\u00f3digo fonte est\u00e1 versionado no <a href=\"https:\/\/github.com\/FreeRDP\/FreeRDP\" target=\"_blank\" rel=\"noopener\">GitHub<\/a><\/p>\n<h2>Processo de instala\u00e7\u00e3o<\/h2>\n<p>O processo que vamos explorar aqui se mostrou compat\u00edvel com a maior parte das distros (ou todas) conhecidas. Contudo, em vers\u00f5es mais novas ou em algumas distros mais espec\u00edficas, pode ser necess\u00e1rio recorrer a outras documenta\u00e7\u00f5es. Isso normalmente ocorre porque alguns pacotes podem mudar de nome ou exigir novas depend\u00eancias e configura\u00e7\u00f5es.<\/p>\n<p>Em caso de d\u00favidas, aconselhamos buscar a documenta\u00e7\u00e3o oficial do FreeRDP que \u00e9 fornecida pela <a href=\"https:\/\/github.com\/FreeRDP\/FreeRDP\/wiki\" target=\"_blank\" rel=\"noopener\">wiki<\/a> do projeto no GitHub. Os passos mostrados a seguir representam um resumo dessa documenta\u00e7\u00e3o.<\/p>\n<p>A abordagem usada aqui envolve compilar e instalar o FreeRDP atrav\u00e9s do comando <a href=\"https:\/\/www.gnu.org\/software\/make\/manual\/make.html\" target=\"_blank\" rel=\"noopener\">make<\/a>. Isso permitir\u00e1 que voc\u00ea instale a \u00faltima vers\u00e3o do cliente e usufrua de suas mais novas corre\u00e7\u00f5es e <em>features<\/em>. Do contr\u00e1rio, ao usar gerenciadores de pacotes tais como <a href=\"https:\/\/help.ubuntu.com\/community\/AptGet\/Howto\" target=\"_blank\" rel=\"noopener\">apt<\/a> ou <a href=\"https:\/\/access.redhat.com\/documentation\/en-us\/red_hat_enterprise_linux\/6\/html\/deployment_guide\/ch-yum\" target=\"_blank\" rel=\"noopener\">yum<\/a>, voc\u00ea poder\u00e1 estar instalando uma vers\u00e3o relativamente antiga. Fique atento a isso.<\/p>\n<p>Vamos ao trabalho!<\/p>\n<ol>\n<li>Voc\u00ea precisar\u00e1 usar um terminal para executar os comandos. Ent\u00e3o, a primeira coisa \u00e9 abrir um terminal. \ud83d\ude42<\/li>\n<li>Agora, clone o reposit\u00f3rio <code><a href=\"https:\/\/github.com\/FreeRDP\/FreeRDP\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/FreeRDP\/FreeRDP<\/a><\/code>.<\/li>\n<\/ol>\n<ul>\n<li>Se voc\u00ea tiver configurado sua chave SSH no GitHub, use:<\/li>\n<\/ul>\n<pre class=\"code-highlighter theme-dark\"><code class=\"language-git\">git clone git@github.com:FreeRDP\/FreeRDP.git<\/code><\/pre>\n<ul>\n<li>Caso contr\u00e1rio, pode clonar usando o protocolo HTTPS:<\/li>\n<\/ul>\n<pre class=\"code-highlighter theme-dark\"><code class=\"language-git\">git clone https:\/\/github.com\/FreeRDP\/FreeRDP.git<\/code><\/pre>\n<ol start=\"3\">\n<li>Instale as depend\u00eancias para a compila\u00e7\u00e3o e a instala\u00e7\u00e3o. Entretanto, fique atento a vers\u00e3o de seu sistema operacional, talvez novos pacotes possam ser necess\u00e1rios.<\/li>\n<\/ol>\n<ul>\n<li>Para sistemas baseados no Debian, instale:<\/li>\n<\/ul>\n<pre class=\"code-highlighter theme-dark\"><code class=\"language-bash\">sudo apt-get install build-essential git-core debhelper cdbs dpkg-dev autotools-dev cmake pkg-config xmlto libssl-dev docbook-xsl xsltproc libxkbfile-dev libx11-dev libwayland-dev libxrandr-dev libxi-dev libxrender-dev libxext-dev libxinerama-dev libxfixes-dev libxcursor-dev libxv-dev libxdamage-dev libxtst-dev libcups2-dev libpcsclite-dev libasound2-dev libpulse-dev libjpeg-dev libgsm1-dev libusb-1.0\u20130-dev libudev-dev libdbus-glib-1-dev uuid-dev libxml2-dev libgstreamer1.0-dev libgstreamer0.10-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-base0.10-dev<\/code><\/pre>\n<ul>\n<li>Para sistemas baseados no RHEL (Red Hat Enterprise Linux), instale:<\/li>\n<\/ul>\n<pre class=\"code-highlighter theme-dark\"><code class=\"language-bash\">sudo yum install gcc cmake openssl-devel libX11-devel libXext-devel libXinerama-devel libXcursor-devel libXi-devel libXdamage-devel libXv-devel libxkbfile-devel alsa-lib-devel cups-devel ffmpeg-devel glib2-devel<\/code><\/pre>\n<ol start=\"4\">\n<li>Ap\u00f3s a instala\u00e7\u00e3o das depend\u00eancias, acesse a pasta do reposit\u00f3rio e execute o seguinte comando cmake para criar os Makefiles:<\/li>\n<\/ol>\n<pre class=\"code-highlighter theme-dark\"><code class=\"language-bash\">cmake -DCMAKE_BUILD_TYPE=Debug -DWITH_SSE2=ON .<\/code><\/pre>\n<ol start=\"5\">\n<li>Neste momento, voc\u00ea come\u00e7ar\u00e1 a compila\u00e7\u00e3o. Para tanto, execute (isso pode levar alguns minutos):<\/li>\n<\/ol>\n<pre class=\"code-highlighter theme-dark\"><code class=\"language-bash\">make <\/code><\/pre>\n<ol start=\"6\">\n<li>Verifique se a compila\u00e7\u00e3o foi bem sucedida. Se sim, prossiga para a instala\u00e7\u00e3o (voc\u00ea precisar\u00e1 de permiss\u00f5es administrativas):<\/li>\n<\/ol>\n<pre class=\"code-highlighter theme-dark\"><code class=\"language-bash\">sudo make install<\/code><\/pre>\n<ol start=\"7\">\n<li>Dependendo do sistema e de suas configura\u00e7\u00f5es, pode ser necess\u00e1rio que voc\u00ea tenha que recarregar o PATH em sua sess\u00e3o ativa do terminal. Voc\u00ea tamb\u00e9m pode reiniciar o terminal ou abrir uma nova sess\u00e3o.<\/li>\n<li>Voc\u00ea pode verificar se o FreeRDP foi instalado corretamente executando o comando:<\/li>\n<\/ol>\n<pre class=\"code-highlighter theme-dark\"><code class=\"language-bash\">xfreerdp<\/code><\/pre>\n<p>Ao executar esse comando, a sa\u00edda deve ser as instru\u00e7\u00f5es de uso (help).<\/p>\n<h2>Utilizando o FreeRDP<\/h2>\n<p>A linha de comando que voc\u00ea ir\u00e1 utilizar para acessar o computador remoto vai depender muito das configura\u00e7\u00f5es dessa m\u00e1quina e da rede onde ela est\u00e1 situada. Mas, na maior parte dos casos, o comando a seguir \u00e9 suficiente:<\/p>\n<pre class=\"code-highlighter theme-dark\"><code class=\"language-bash\">xfreerdp \/v:&lt;hosname&gt; \/d:&lt;domain&gt; \/u:&lt;username&gt;<\/code><\/pre>\n<p>Onde:<\/p>\n<pre class=\"code-highlighter line-numbers theme-dark\"><code class=\"language-git\">\/v: nome do host que ser\u00e1 acessado\r\n\/d: dom\u00ednio do host\r\n\/u: usu\u00e1rio para se autenticar no host<\/code><\/pre>\n<ul>\n<li>Outras op\u00e7\u00f5es \u00fateis s\u00e3o:<\/li>\n<\/ul>\n<pre class=\"code-highlighter line-numbers theme-dark\"><code class=\"language-bash\">\/g: hostname do gateway\r\n\/gd: dom\u00ednio do gateway\r\n\/gu: nome de usu\u00e1rio para se autenticar no gateway\r\n\/f: fullscreen (atalho para sair e retomar fullscreen \u00e9 Ctrl + Alt + Enter)<\/code><\/pre>\n<p>As senhas de acesso s\u00e3o solicitadas atrav\u00e9s do pr\u00f3prio terminal.<\/p>\n<ul>\n<li>Se voc\u00ea precisa passar por um gateway at\u00e9 chegar na m\u00e1quina que precisa acessar, uma linha de comando poss\u00edvel seria:<\/li>\n<\/ul>\n<pre class=\"code-highlighter theme-dark\"><code class=\"language-bash\">xfreerdp \/v:hostname \/d:algum-dom\u00ednio \/u:usu\u00e1rio \/g:gateway-hostname \/gd:gateway-algum-dom\u00ednio \/gu:usu\u00e1rio-do-gateway \/f<\/code><\/pre>\n<p>Feito!<\/p>\n<h3>Observa\u00e7\u00f5es finais<\/h3>\n<p>Por favor, antes de se desesperar porque as coisas n\u00e3o funcionaram totalmente bem, d\u00ea uma pesquisada no Google. \ud83d\ude42<br \/>\nEm vers\u00f5es muito novas de algumas distros, pode ser necess\u00e1rio adaptar um pouco estes passos. Por exemplo, no Ubuntu 18.04, \u00e9 preciso instalar alguns pacotes diferentes. Veja mais a respeito em <a href=\"https:\/\/github.com\/FreeRDP\/Remmina\/wiki\/Compile-on-Ubuntu-18.04\" target=\"_blank\" rel=\"noopener\">Compile on Ubuntu 18.04<\/a>.<\/p>\n<p>Este conte\u00fado foi \u00fatil para voc\u00ea? Quer ver mais posts como este aqui no blog? Deixe seu coment\u00e1rio e suas sugest\u00f5es!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Podemos dizer, com certeza, que j\u00e1 estamos vivendo na era do trabalho remoto, e isso abre portas para infinitas possibilidades. N\u00e3o podemos mais nos dar ao luxo de nos limitarmos por tecnologias. Tudo est\u00e1 valendo, desde que voc\u00ea consiga resolver o seu problema em um tempo vi\u00e1vel e favor\u00e1vel para sua situa\u00e7\u00e3o. Ent\u00e3o, o que [&hellip;]<\/p>\n","protected":false},"author":27,"featured_media":5082,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23,2],"tags":[328,329,56,330,297],"class_list":["post-3856","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev","category-updates","tag-acesso-remoto","tag-conexao-remota","tag-linux","tag-rdp","tag-trabalho-remoto"],"_links":{"self":[{"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/posts\/3856"}],"collection":[{"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/users\/27"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/comments?post=3856"}],"version-history":[{"count":0,"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/posts\/3856\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/media\/5082"}],"wp:attachment":[{"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/media?parent=3856"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/categories?post=3856"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/tags?post=3856"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}