sábado, 27 de junho de 2020

Windows 10 Ambiente de Trabalho remoto através de um túnel SSH

A PowerShell do Windows 10 pode ter o cliente de SSH instalado e funcionar tal como num sistema Linux.

Verificar se cliente OpenSSH está instalado

Para se verificar se o cliente OpenSSH está instalado é necessário iniciar a PowerShell como administrador e introduzir o comando:
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

Caso seja apresentado Installed é porque está instalado.

No caso de não estar instalado é possível instalar.

Instalar o cliente OpenSSH na PowerShell

Caso seja necessário instalar o cliente OpenSSH é necessário iniciar a PowerShell como administrador e utilizar o comando:
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

Criar tunnel SSH com Port Forwarding

Na Linha de Comandos ou na PowerShell é possível ligar a um servidor SSH remoto e criar dentro dessa ligação um encaminhamento de porto (Port Forwarding) que permita aceder, por exemplo, a um ambiente de trabalho remoto noutra máquina que esteja na mesma rede remota.


Assim, o cliente precisa de iniciar uma ligação SSH ao servidor SSH no porto 22. De seguida tem que ser criado um porto na máquina cliente ligado ao porto 3389 do servidor RDP e que permitirá utilizar o porto local como se fosse de facto o porto remoto.

Esta abstração é feita com a opção -L do comando SSH onde é possível indicar:
[Porto Local]:[IP da máquina remota que disponibiliza o serviço]:[Porto do serviço]

A opção -N permite que não seja executado qualquer comando na máquina remota, pois apenas é necessário o encaminhamento de portos.

A opção -l permite especificar o nome de utilizador para o servidor SSH.

A opção -p permite especificar um porto diferente para o servidor SSH (caso não seja o porto 22 por defeito).

ssh -N -L 13389:[Windows RDP Server]:3389 [SSH Server] -l [ssh username]




Ligação de Ambiente de Trabalho Remoto ao tunnel

A partir daqui o porto local 13389 será uma ligação direta ao porto 3389 da máquina servidora de RDP. Esta ligação é criada dentro da ligação SSH e é, por isso, encriptada.

Através da Ligação de Ambiente de Trabalho Remoto é possível ligar ao servidor RDP remoto utilizando o porto local:

localhost:13389




Terminar a ligação

Para terminar a ligação resta fechar a Ligação de Ambiente de Trabalho Remoto e pressionar CTRL+C para terminar o comando SSH.


domingo, 21 de junho de 2020

Kodi - Youtube AddOn

A instalação do plugin Youtube no Kodi não funciona imediatamente.

Indica que é necessário instalar as chaves de API. Para tal é necessário criar um projeto na consola de developers de uma conta Google.

O processo encontra-se descrito na documentação do plugin e em diversos vídeos e tutoriais.

Criação das Chaves

É necessário aceder a uma conta Google e depois à consola de Developers:

Éé necessário criar um novo projeto:

Deve definir-se o nome do projeto:
Na Biblioteca de API é possível ver as API disponíveis, no caso de ainda não ter qualquer API é preciso acrescentar:

Da lista de API's disponíveis deve escolher-se a YouTube Data API:

E de seguida deve ativar-se:

Ao ativar será necessário criar credenciais para a sua utilização:

No assistente de criação de credenciais deve selecionar-se a API do YouTube, Other UI e User Data. No final deve clicar-se em no botão que contém a pergunta What credentials do I Need?:


Se seguida serão criadas credenciais de autenticação OAuth e é necessário definir o consentimento:

Na nova aba/janela é necessário configurar o tipo de consentimento, neste caso como External e Criar:

No passo seguinte é necessário definir algumas informações genéricas para a nossa API:

Após salvar é necessário regressar à aba/janela original:

E aqui adicionar as credenciais ao projeto, indicando um nome para o cliente OAuth 2.0 e criando o OAuth client ID:

Após a criação do OAuth Clinet ID este passo está concluído:

De seguida é preciso criar uma chave API:

Depois de criada é resta fechar a janela:

No ecrã de Credenciais é possível ver a chave API e o ID de cliente OAuth:

Para se saber o OAuth Client Secret é necessário editar o OAuth Client:

Resta guardar estas informações que correspondem
  • API Key » API Key
  • OAuth client ID » API Id
  • OAuth client secret » API Secret

Configuração do YouTube AddOn no Kodi

Existem diversas opções para configuração do AddOn YouTube no Kodi e, dependendo da forma como está a ser utilizado o Kodi, umas poderão ser mais fáceis do que outras:
  1. Configurar diretamente o AddOn no Kodi introduzindo manualmente todos os valores
  2. Ativar no AddOn: Enable API configuration page e depois configurar os valores através do browser
  3. Fechar o Kodi e editar manualmente o ficheiro userdata/addon_data/plugin.video.youtube/api_keys.json


Configuração através da página web de configuração do AddOn

Como normalmente utilizo o Kodi numa televisão com um Raspberry Pi através do LibreELEC ou OSMC, o mais simples é mesmo ativar a API configuration page e num computador copiar/colar os valores.

No Kodi é necessário aceder à configuração do AddOn YouTube e ativar: Enable API configuration page

De seguida num browser com acesso aos dados da API abrir a página:

Devem colar-se as informações guardadas anteriormente e Guardar:

De seguida deve desativar-se o acesso à página de configuração da API e poder-se-á começar a utilizar o AddOn normalmente no Kodi.

sábado, 20 de junho de 2020

Google Drive File Stream - Linux

Não havendo aplicação nativa para Linux do Google Drive File Stream a comunidade cria e partilha as suas soluções: google-drive-ocamlfuse.

Instalação

Na documentação existem diversas opções para a instalação. Neste caso utilizei as instruções para Debian Stretch.

Instalação de dependências

apt install software-properties-common dir

Adicionar repositório

Criar um ficheiro para o repositório apt:
nano /etc/apt/sources.list.d/google-drive-ocamlfuse.list

Acrescentar ao ficheiro:
deb http://ppa.launchpad.net/alessandro-strada/ppa/ubuntu xenial main

Adicionar a chave do servidor ao apt:
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys AD5F235DF639B041

Instalar

Atualizar a lista de pacotes:
apt update

Instalar o pacote:
apt install google-drive-ocamlfuse

Utilização

Primeira Utilização

Na primeira utilização será configurado o acesso ao Google Drive. Assim, deve executar-se o programa sem qualquer argumento:
google-drive-ocamlfuse

O comando cria uma estrutura de pastas de configuração em ~/.gdfuse/default que contém o ficheiro de configuração config.

De seguida abre o browser e pede para iniciar sessão com a conta Google que dará acesso ao Drive correspondente. Após iniciar-se sessão parece que o processo fica parado e pode demorar algum tempo até a linha de comandos indicar que configurou tudo com sucesso e sair do programa voltando à shell normal.

Pastas

Antes de se começar a utilizar convém criar um diretório que será o ponto de montagem dos ficheiros Google Drive.
Assim, pode criar-se:
mkdir ~/DRIVE

Caso se pretenda ter utilizadores ou drives diferentes podem criar-se diferentes diretórios para cada um desses fins. Como previa essa utilização criei uma pasta para a drive pessoal:
mkdir ~/DRIVE/Drive

Montar Google Drive

Para se aceder aos ficheiros é necessário executar o comando:
google-drive-ocamlfuse ~/DRIVE/Drive

A partir deste momento na pasta ~/DRIVE/Drive estarão os ficheiros e pastas tal e qual como no Google Drive e é possível abrir, editar, copiar, colar, mover, etc.

Desmontar Google Drive

Caso se pretenda terminar a utilização é possível desmontar com o comando:
fusermount -u ~/DRIVE/Drive

Utilização de Outras Contas e Team Drives

No caso de ser necessário utilizar outras contas é possível utilizar o parâmetro -label para definir outras credenciais de acesso ou utilizar uma Team Drive.
google-drive-ocamlfuse -l myTeamDrive

Será iniciado o processo de autorização que deve ser feito com a conta Google que terá acesso à Team Drive e aguardar que termine.
Quando terminar é necessário saber o team_drive_id da Team Drive

Team Drive ID

Para saber qual o team drive ID é necessário aceder à Team Drive através do browser e observar o URL e copiar a última parte:
https://drive.google.com/drive/u/1/folders/0XS2-_aJgHL29KfOVHAS22

De seguida é necessário abrir o ficheiro de configuração: ~/.gdfuse/myTeamDrive/config

Procurar a chave no final do ficheiro e colocar o ID:
team_drive_id=0XS2-_aJgHL29KfOVHAS22

Guardar o ficheiro e fechar.

Criar Pasta

Deve criar-se a pasta para a Team Driv:
mkdir ~/DRIVE/Team

Montar Team Drive

Para montar a Team Drive é necessário executar o comando com a label e o diretório correspondente:
google-drive-ocamlfuse -label myTeamDrive ~/DRIVE/Team

Desmontar Google Drive

Caso se pretenda terminar a utilização é possível desmontar com o comando:
fusermount -u ~/DRIVE/Team


Referências e Recursos