sessions saved exportar configuracion como windows registry putty
administrador de conexión de masilla

windows - saved - extra putty export sessions



¿Cómo exportar/importar listas de sesiones de PuTTy? (14)

Exportar

cmd.exe , requiere indicador elevado:

Solo sesiones:

regedit /e "%USERPROFILE%/Desktop/putty-sessions.reg" HKEY_CURRENT_USER/Software/SimonTatham/PuTTY/Sessions

Todos los ajustes:

regedit /e "%USERPROFILE%/Desktop/putty.reg" HKEY_CURRENT_USER/Software/SimonTatham

Potencia Shell:

Solo sesiones:

reg export HKCU/Software/SimonTatham/PuTTY/Sessions ([Environment]::GetFolderPath("Desktop") + "/putty-sessions.reg")

Todos los ajustes:

reg export HKCU/Software/SimonTatham ([Environment]::GetFolderPath("Desktop") + "/putty.reg")

Importar

Haga doble clic en el *.reg y acepte la importación.

Formas alternativas:

cmd.exe , requiere símbolo del sistema elevado:

regedit /i putty-sessions.reg regedit /i putty.reg

Potencia Shell:

reg import putty-sessions.reg reg import putty.reg

Nota : no reemplace SimonTatham con su nombre de usuario.

Nota : reg un archivo de reg en el escritorio del usuario actual.

Nota : No exportará claves SSH relacionadas.

¿Hay alguna forma de hacer esto?

¿O tengo que llevar manualmente todos los registros del registro?


  1. Ejecute Ejecutar, luego escriba en la ventana desplegable Abrir: regedit

  2. Vaya a, al igual que en el Explorador de Windows:
    HKEY_CURRENT_USER / Software / SimonTatham

  3. Haga clic derecho en la tecla ''SimonTatham'' (icono de directorio), seleccione Exportar
    Asigne al archivo un nombre (por ejemplo) putty.reg y guárdelo en su ubicación para
    uso posterior
  4. Cierre el Editor del Registro.

Hecho.


Cuando probé las otras soluciones obtuve este error:

Registry editing has been disabled by your administrator.

¡Fooey a eso, digo!

Reuní los siguientes scripts de powershell para exportar e importar configuraciones de PuTTY. El archivo exportado es un archivo .reg de Windows y se importará limpiamente si tiene permiso; de lo contrario, use import.ps1 para cargarlo.

Advertencia : jugar con el registro de esta manera es una mala idea ™, y realmente no sé lo que estoy haciendo. Utilice los siguientes scripts bajo su propio riesgo y prepárese para que su departamento de TI vuelva a crear una imagen de su equipo y le haga preguntas incómodas sobre lo que estaba haciendo.

En la máquina de origen:

./export.ps1

En la máquina de destino:

./import.ps1 > cmd.ps1 # Examine cmd.ps1 to ensure it doesn''t do anything nasty ./cmd.ps1

export.ps1

# All settings $registry_path = "HKCU:/Software/SimonTatham" # Only sessions #$registry_path = "HKCU:/Software/SimonTatham/PuTTY/Sessions" $output_file = "putty.reg" $registry = ls "$registry_path" -Recurse "Windows Registry Editor Version 5.00" | Out-File putty.reg "" | Out-File putty.reg -Append foreach ($reg in $registry) { "[$reg]" | Out-File putty.reg -Append foreach ($prop in $reg.property) { $propval = $reg.GetValue($prop) if ("".GetType().Equals($propval.GetType())) { ''"'' + "$prop" + ''"'' + "=" + ''"'' + "$propval" + ''"'' | Out-File putty.reg -Append } elseif ($propval -is [int]) { $hex = "{0:x8}" -f $propval ''"'' + "$prop" + ''"'' + "=dword:" + $hex | Out-File putty.reg -Append } } "" | Out-File putty.reg -Append }

import.ps1

$input_file = "putty.reg" $content = Get-Content "$input_file" "Push-Location" "cd HKCU:/" foreach ($line in $content) { If ($line.StartsWith("Windows Registry Editor")) { # Ignore the header } ElseIf ($line.startswith("[")) { $section = $line.Trim().Trim(''['', '']'') ''New-Item -Path "'' + $section + ''" -Force'' | %{ $_ -replace ''HKEY_CURRENT_USER//', '''' } } ElseIf ($line.startswith(''"'')) { $linesplit = $line.split(''='', 2) $key = $linesplit[0].Trim(''"'') if ($linesplit[1].StartsWith(''"'')) { $value = $linesplit[1].Trim().Trim(''"'') } ElseIf ($linesplit[1].StartsWith(''dword:'')) { $value = [Int32](''0x'' + $linesplit[1].Trim().Split('':'', 2)[1]) ''New-ItemProperty "'' + $section + ''" "'' + $key + ''" -PropertyType dword -Force'' | %{ $_ -replace ''HKEY_CURRENT_USER//', '''' } } Else { Write-Host "Error: unknown property type: $linesplit[1]" exit } ''Set-ItemProperty -Path "'' + $section + ''" -Name "'' + $key + ''" -Value "'' + $value + ''"'' | %{ $_ -replace ''HKEY_CURRENT_USER//', '''' } } } "Pop-Location"

Disculpas por el código no idiomático, no estoy muy familiarizado con Powershell. ¡Las mejoras son bienvenidas!


Esto fue mucho más fácil importar la exportación del registro que lo que se indica anteriormente. + Simplemente

  1. clic derecho sobre el archivo y
  2. seleccione "Fusionar"

Trabajó como un campeón en Win 7 Pro.


Hay un script de PowerShell en ratil.life/first-useful-powershell-script-putty-to-ssh-config que puede convertir las sesiones a un formato que se puede usar en .ssh/config . También se puede encontrar en GitHub .

Este extracto contiene las entrañas principales del código e imprimirá la configuración resultante directamente en la salida estándar:

# Registry path to PuTTY configured profiles $regPath = ''HKCU:/SOFTWARE/SimonTatham/PuTTY/Sessions'' # Iterate over each PuTTY profile Get-ChildItem $regPath -Name | ForEach-Object { # Check if SSH config if (((Get-ItemProperty -Path "$regPath/$_").Protocol) -eq ''ssh'') { # Write the Host for easy SSH use $host_nospace = $_.replace(''%20'', $SpaceChar) $hostLine = "Host $host_nospace" # Parse Hostname for special use cases (Bastion) to create SSH hostname $puttyHostname = (Get-ItemProperty -Path "$regPath/$_").HostName if ($puttyHostname -like ''*@*'') { $sshHostname = $puttyHostname.split("@")[-1] } else { $sshHostname = $puttyHostname } $hostnameLine = "`tHostName $sshHostname" # Parse Hostname for special cases (Bastion) to create User if ($puttyHostname -like ''*@*'') { $sshUser = $puttyHostname.split("@")[0..($puttyHostname.split(''@'').length - 2)] -join ''@'' } else { $sshHostname = $puttyHostname } $userLine = "`tUser $sshUser" # Parse for Identity File $puttyKeyfile = (Get-ItemProperty -Path "$regPath/$_").PublicKeyFile if ($puttyKeyfile) { $sshKeyfile = $puttyKeyfile.replace(''/', ''/'') if ($prefix) { $sshKeyfile = $sshKeyfile.replace(''C:'', $prefix) } $identityLine = "`tIdentityFile $sshKeyfile" } # Parse Configured Tunnels $puttyTunnels = (Get-ItemProperty -Path "$regPath/$_").PortForwardings if ($puttyTunnels) { $puttyTunnels.split() | ForEach-Object { # First character denotes tunnel type $tunnelType = $_.Substring(0,1) # Digits follow tunnel type is local port $tunnelPort = $_ -match ''/d*/d(?==)'' | Foreach {$Matches[0]} # Text after ''='' is the tunnel destination $tunnelDest = $_.split(''='')[1] if ($tunnelType -eq ''D'') { $tunnelLine = "`tDynamicForward $tunnelPort $tunnelDest" } ElseIf ($tunnelType -eq ''R'') { $tunnelLine = "`tRemoteForward $tunnelPort $tunnelDest" } ElseIf ($tunnelType -eq ''L'') { $tunnelLine = "`tLocalForward $tunnelPort $tunnelDest" } } # Parse if Forward Agent is required $puttyAgent = (Get-ItemProperty -Path "$regPath/$_").AgentFwd if ($puttyAgent -eq 1) { $agentLine = "`tForwardAgent yes" } # Parse if non-default port $puttyPort = (Get-ItemProperty -Path "$regPath/$_").PortNumber if (-Not $puttyPort -eq 22) { $PortLine = "`tPort $puttyPort" } } # Build output string $output = "$hostLine`n$hostnameLine`n$userLine`n$identityLine`n$tunnelLine`n$agentLine`n" # Output to file if set, otherwise STDOUT if ($outfile) { $output | Out-File $outfile -Append} else { Write-Host $output } } }


La respuesta de m0nhawk no funcionó para mí en Windows 10, requirió una línea de comandos elevada y se negó a emitir un archivo.

Esto funcionó y no requirió elevación:

reg export HKEY_CURRENT_USER/Software/SimonTatham/PuTTY putty.reg


La respuesta publicada por @ m0nhawk no parece funcionar como lo pruebo en una máquina con Windows 7. En su lugar, el uso de los siguientes scripts exportaría / importaría la configuración de la masilla:

::export @echo off set regfile=putty.reg pushd %~dp0 reg export HKCU/Software/SimonTatham %regfile% /y popd

-

::import @echo off pushd %~dp0 set regfile=putty.reg if exist %regfile% reg import %regfile% popd


Para aquellos de ustedes que necesitan importar Putty desde un archivo de registro fuera de línea, por ejemplo, cuando se están recuperando de un sistema bloqueado o simplemente se están moviendo a una nueva máquina y extrayendo datos de esa unidad antigua, hay una solución más que vale la pena mencionar:

http://www.nirsoft.net/utils/registry_file_offline_export.html

Esta gran aplicación de consola gratuita exportará todo el registro o solo una clave de registro específica. En mi caso, simplemente copié el archivo de registro de una unidad antigua al mismo directorio que la herramienta exportadora y luego utilicé el siguiente comando y la sintaxis en la ventana de CMD que se ejecuta como administrador:

RegFileExport.exe NTUSER.DAT putty.reg "HKEY_CURRENT_USER / Software / SimonTatham"

Después de importar el archivo .reg e iniciar Putty, todo estaba allí. Sencillo y eficiente.


Para aquellos que no quieren meterse con el registro, se ha creado una variación de masilla que guarda en el archivo. Se encuentra aquí: http://jakub.kotrla.net/putty/

Sería bueno si el equipo de masilla tomara esto como una opción en la distribución principal.


Si desea importar configuraciones en PuTTY Portable , puede usar el archivo putty.reg .

Simplemente póngalo en esta ruta [path_to_Your_portable_apps]PuTTYPortable/Data/settings/putty.reg . El programa lo importará


Una mejora en la solución de bumerang para importar datos a PuTTY portable .

Simplemente mover putty.reg exportado (con la solución m0nhawk) a PuTTYPortable/Data/settings/ no funcionó. PuTTY Portable copia el archivo y crea uno nuevo vacío.

Para solucionar este problema, putty.reg ambos putty.reg copiando manualmente la configuración que desea migrar desde su putty.reg exportado al PuTTYPortable/Data/settings/putty.reg recién creado debajo de las líneas siguientes.

REGEDIT4 [HKEY_CURRENT_USER/Software/SimonTatham/PuTTY] "RandSeedFile"="D://Programme//PuTTYPortable//Data//settings//PUTTY.RND"


Usando este método también es posible realizar cambios de configuración masivos, como cambiar la fuente de todas las sesiones.

  1. Exportar a .reg
  2. Realizar una búsqueda y reemplazar sobre .reg
  3. Eliminar todas las sesiones
  4. Importar el nuevo .reg

Extraído de aquí: http://www.sysadmit.com/2015/11/putty-exportar-configuracion.html



Ejemplo:
Cómo transferir la configuración de la masilla y la configuración de la sesión de una cuenta de usuario a otra, por ejemplo, cuando se crea una nueva cuenta y desea utilizar las sesiones / configuraciones de la masilla de la cuenta antigua

Proceso:
- Exportar clave de registro de cuenta antigua a un archivo
- Importar clave de registro desde archivo a nueva cuenta

Clave de registro de exportación: (desde cuenta OLD)

  1. Inicie sesión en la cuenta OLD, por ejemplo, tomold
  2. Abra el ''indicador de comando'' normal (NO admin!)
  3. Tipo ''regedit''
  4. Vaya a la sección de registro donde se almacena la configuración, por ejemplo, [HKEY_CURRENT_USER / SOFTWARE / SimonTatham] y haga clic en ella
  5. Seleccione ''Exportar'' en el menú de archivo o haga clic con el botón derecho del ratón (ctrl de radio ''rama seleccionada'')
  6. Guárdelo en el archivo y asígnele el nombre, por ejemplo, ''puttyconfig.reg''
  7. Cerrar sesión de nuevo

Importar clave de registro: (en NUEVA cuenta)

  1. Inicie sesión en una cuenta nueva, por ejemplo, tom

  2. Abra el ''indicador de comando'' normal (NO admin!)

  3. Tipo ''regedit''

  4. Seleccione ''Importar'' del menú

  5. Seleccione el archivo de registro para importar, por ejemplo, ''puttyconfig.reg''

  6. Hecho

Nota:
No use un ''indicador de comando de administrador'' ya que las configuraciones se encuentran en ''[HKEY_CURRENT_USER ...]'' y regedit se ejecutará como administrador y mostrará esa sección para el usuario administrador en lugar de para que el usuario realice la transferencia y / o para.