Skip to content

DiegoRivas1/dev-environment-setup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dev-environment-setup

Configuración de entorno de desarrollo SSH, Wave Terminal y conexiones remotas.


Contenido

dev-environment-setup/
├── README.md
├── ssh/
│   └── config.example    plantilla de ~/.ssh/config
└── wave/
    ├── connections.json   conexiones Wave
    └── widgets.json       widgets de terminal Wave

Wave Terminal

Wave es un terminal moderno con soporte nativo para conexiones SSH, WSL y widgets personalizados. Permite abrir sesiones remotas con un click desde la barra lateral.

Abrir Wave

Desde el ejecutable instalado o desde PowerShell:

# Crear alias para abrir Wave desde terminal
Set-Alias waveterm "C:\Users\TU_USUARIO\AppData\Local\Programs\Waveterm\Wave.exe"
waveterm

Configuración SSH

1. Descargar la clave

Vocareum (EMR labs): en la página del lab ir a AWS Details → Download PEM → labsuser.pem

EC2 general: descargar el .pem desde la consola de AWS al crear la instancia.

Kali Linux VM: generar clave RSA y copiar al host:

ssh-keygen -t rsa -b 4096
type $env:USERPROFILE\.ssh\id_rsa.pub | ssh noname@192.168.56.101 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Nota AWS vs Linux manual: En AWS la clave pública ya está configurada automáticamente en la instancia al crearla con un key pair. Solo necesitas el .pem para conectarte. En máquinas Linux propias (como Kali VM) debes copiar tu clave pública manualmente como se muestra arriba.

2. Crear el archivo config

# Crear si no existe
touch C:\Users\TU_USUARIO\.ssh\config

# Editar
notepad C:\Users\TU_USUARIO\.ssh\config

Contenido ver plantilla en ssh/config.example:

Host aws-emr-lab
    HostName <DNS-del-master>
    User hadoop
    IdentityFile C:/Users/TU_USUARIO/Documents/labsuser.pem

Host aws-onpe
    HostName <IP-publica>
    User ec2-user
    IdentityFile C:/Users/TU_USUARIO/Documents/onpe.pem

Host noname-kali
    HostName 192.168.56.101
    User noname
    IdentityFile C:/Users/TU_USUARIO/.ssh/id_rsa

3. Conectarse

# Con alias (recomendado)
ssh aws-emr-lab
ssh aws-onpe
ssh noname-kali

# Sin alias emr
ssh -i labsuser.pem hadoop@<DNS-del-master>

# Sin alias onpe
ssh -i onpe.pem ec2-user@<IP-publica>

# Sin alias kali
ssh -i id_rsa noname@<IP-kali>

4. Copiar archivos (SCP)

Configuracion por defecto con alias, sin especificar ruta (va al home del usuario en el servidor (~/) ):

# Subir archivo al master
scp archivo.txt aws-emr-lab:~/

# Descargar archivo del master
scp aws-emr-lab:~/archivo.txt .

# Subir script HiveQL
scp scripts/02_wordcount.hql aws-emr-lab:~/

Configuracion especificando ruta completa:

# Subir archivo a ruta especifica
scp archivo.txt aws-emr-lab:/mnt/datos/

# Descargar archivo a ruta especifica
scp aws-emr-lab:~/archivo.txt "C:\Users\TU_USUARIO\Downloads\"

El alias SSH funciona igual desde terminal tradicional y desde Wave.

Nota: IP cambia al reiniciar

En Vocareum cada nuevo clúster EMR tiene un DNS diferente. Actualiza HostName en el config:

notepad C:\Users\TU_USUARIO\.ssh\config
# Cambiar HostName por el nuevo DNS del master

Configuración Wave

Wave usa el mismo ~/.ssh/config si el alias está configurado, Wave lo detecta automáticamente.

Archivos de configuración Wave

Los archivos se editan con:

wsh editconfig connections.json
wsh editconfig widgets.json

O directamente en:

C:\Users\TU_USUARIO\.config\waveterm\connections.json
C:\Users\TU_USUARIO\.config\waveterm\widgets.json

connections.json

Habilita las conexiones SSH en Wave copiar contenido de wave/connections.json:

{
  "aws-emr-lab": { "conn:wshenabled": true },
  "aws-onpe": { "conn:wshenabled": true },
  "noname@192.168.56.101": { "conn:wshenabled": true },
  "wsl://Ubuntu": { "conn:wshenabled": false }
}

widgets.json

Define los widgets de acceso rápido en la barra lateral copiar contenido de wave/widgets.json.

Cada widget abre una terminal conectada al host al hacer click.


Personalización Wave (opcional)

Tema y fuente

Edita settings.json:

{
  "term:theme": "rosepine",
  "term:fontfamily": "JetBrains Mono",
  "term:fontsize": 14,
  "tab:preset": "bg@blade1"
}

Temas disponibles en el repositorio oficial: https://github.com/wavetermdev/waveterm/blob/main/pkg/wconfig/defaultconfig/termthemes.json

Background

wsh setbg C:\Users\TU_USUARIO\Pictures\blade5.jpg

Búsqueda web integrada

wsh web open python documentation
wsh web open c++

Wave AI (opcional)

Wave soporta modelos de IA directamente en el terminal.

# Configurar clave
wsh secret set GROQ_KEY=tu_clave_aqui

# Establecer modelo por defecto
wsh setconfig waveai:defaultmode="groq-llama"

Documentación: https://docs.waveterm.dev/waveai-modes

Para automatización avanzada con Wave AI (generar archivos desde el terminal y enviarlos a sesiones SSH remotas) ver: https://github.com/DiegoRivas1/wave-bridge


Próximamente

  • wave-config Una configuración completa de Wave: temas, backgrounds, fuentes y diseño paso a paso.
  • wave-bridge Una automatización con Wave AI para crear y enviar archivos a sesiones SSH remotas. Wave AI actualmente puede generar archivos en tu PC local pero no ejecutarlos ni crearlos directamente en una sesión remota, wave-bridge resuelve eso.

Capturas

Wave abierto desde ejecutable

wave_open

Configuración connections.json

connections

Configuración widgets.json

widgets

Widget EMR activo en barra lateral

widget_emr

Sesión SSH al master EMR desde Wave

sesion_emr

About

Configuración de entorno de desarrollo SSH aliases, Wave Terminal, conexiones remotas a AWS EMR, EC2 y Linux VM

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors