Neste artigo, vamos aprender a adicionar o terminal como software padrão para acesso direto para computadores com conexão SSH dentro do VaultOne.
Pré-requisitos
Antes de começar, você precisa de:
Sistema Linux
Acesso ao Terminal
Computador/Servidor configurado para conexão SSH no VaultOne
Instalação
Primeiro passo: Adicionar o script handler
No diretório home do usuário, crie um diretório chamado vaultone-handler:
mkdir ~/vaultone-handler
Após, navegue para dentro da pasta e crie um arquivo chamado vaultone-ssh- handler.sh
touch ssh-handler.sh
Altere as permissões do arquivo para que possa ser executado pelo usuário.
chmod u+x ssh-handler.sh
Abra o arquivo com o editor de sua preferência e adicione o conteúdo abaixo no arquivo e salve o arquivo.
#!/bin/bash
open_terminal() {
local term_cmd=""
# Detecta o terminal disponível e define o comando correspondente
if command -v gnome-terminal &> /dev/null; then
term_cmd="gnome-terminal -- $1"
elif command -v konsole &> /dev/null; then
term_cmd="konsole -e $1"
elif command -v xfce4-terminal &> /dev/null; then
term_cmd="xfce4-terminal -- $1"
elif command -v xterm &> /dev/null; then
term_cmd="xterm -e $1"
elif command -v urxvt &> /dev/null; then
term_cmd="urxvt -e $1"
elif command -v lxterminal &> /dev/null; then
term_cmd="lxterminal -e $1"
elif command -v mate-terminal &> /dev/null; then
term_cmd="mate-terminal -- $1"
elif command -v terminology &> /dev/null; then
term_cmd="terminology -e $1"
else
echo "No compatible terminals found. Please install a terminal"
exit 1
fi
eval "$term_cmd" &
}
main() {
if [[ "$1" != "ssh://"* ]]; then
echo "Is not valid SSH URL"
exit 1
fi
local url=${1#ssh://}
local user_pass=${url%%@*}
local host_port=${url%%*@}
local host=${host_port%%:*}
local port=${host_port##*:}
[ "$port" == "$host_port" ] && port=''
local cmd="$host"
[ -n "$user" ] && cmd="$user@$cmd"
[ -n "$port" ] && cmd="$cmd -p $port"
cmd="ssh $cmd -o StrictHostKeyChecking=no -o UserKnownHosts
open_terminal "$cmd"
}
main "$1"
Segundo passo: Adicionar a configuração do SSH Protocol Handler
Navegue para pasta ~/.local/share/applications/ e crie o arquivo SSH-Handler.desktop
cd ~/.local/share/applications/
touch SSH-Handler.desktop
Altere as permissões do arquivo para que possa ser executado pelo usuário.
chmod u+x SSH-Handler.desktop
Depois, abra o arquivo com o editor de sua preferência e adicione o conteúdo abaixo no arquivo. Antes de salvar o arquivo, altere a palavra seu-usuario, presente na linha Exec= , para o seu usuário.
[Desktop Entry]
Type=Application
Name=SSH Handler
Exec=/home/seu-usuario/vaultone-handler/ssh-handler.sh %u
Icon=utilities-terminal
StartupNotify=false
MimeType=x-scheme-handler/ssh
Terceiro passo: Registrar o Protocol Handler no sistema
Para que o sistema possa identificar os links ssh:// e execute o script, registre o script como um Protocol Handler para SSH.
xdg-mime default SSH-Handler.desktop x-scheme-handler/ssh
Passo 4: Conectar em computador via SSH usando Acesso Direto
Com todos passos anteriores configurados, vamos ao VaultOne e conectar em um servidor via SSH.
Selecione o seu servidor e clique em Conectar
Depois clique em Acesso Direto
Por fim, clique em Abrir
Um terminal deverá abrir conectando o seu computador ao Bastion do seu conector, já configurado para conectar-se ao computador selecionado. Siga os passos para autenticação dentro do bastion para concluir a conexão com o computador.
Dúvidas? Entre em contato com [email protected]