Qual é a mensagem de erro (se houver)?
Não foi possível conectar com essas configurações
Conexão SSH falhou: Cannot parse privateKey: Unsupported key format
Descrição
Tento configurar uma “Conta de Chave Privada SSH” nas Credenciais. Quando passo a chave para o campo “Chave Privada”, sempre recebo a mensagem de erro.
Parece que este campo destrói as quebras de linha da chave. Quando passo como expressão
={{`-----BEGIN RSA PRIVATE KEY-----
*Formato PEM (RSA 4096-Bit)*
-----END RSA PRIVATE KEY-----
`}}
parece funcionar na rotina de verificação do diálogo Nova Credencial.
No entanto: Quando uso as credenciais em um Nó SSH, recebo o mesmo erro novamente.
Quando volto para a credencial, o conteúdo do campo Chave Privada mudou para algo como __n8n_BLANK_VALUE_e5362baf-c777-4d57-a609-6eaf1f9e87f6.
O mesmo ocorre quando insiro a chave como expressão, fecho a janela de credenciais e a reabro imediatamente. Então a verificação da chave também falha.
Como posso armazenar chaves SSH no n8n sem que sejam destruídas?
Fluxo de trabalho
{
"nodes": [
{
"parameters": {
"authentication": "n8nUserAuth",
"formTitle": "VeraCrypt Mount",
"formFields": {
"values": [
{
"fieldLabel": "Password",
"fieldType": "password",
"fieldName": "vc_pwd",
"requiredField": true
},
{
"fieldLabel": "Key-File",
"fieldType": "file",
"fieldName": "vc_kf"
}
]
},
"responseMode": "lastNode",
"options": {}
},
"type": "n8n-nodes-base.formTrigger",
"typeVersion": 2.6,
"position": [
0,
0
],
"id": "4966f7da-16a6-49c8-ae0d-41f36fc5ada1",
"name": "On form submission",
"webhookId": "68c32594-ba38-4b59-875c-329b2aa3d8d7"
},
{
"parameters": {
"authentication": "privateKey",
"command": "=# 1. Converter string Base64 do formulário web n8n em um arquivo temporário e decodificar\necho \"{{ $json.vc_kf[0] }}\" | base64 -d \\ /tmp/temp_keyfile.key\n\n# 2. Definir permissões de arquivo extremamente restritivas (apenas este usuário pode lê-las)\nchmod 600 /tmp/temp_keyfile.key\n\n# 3. Executar VeraCrypt como Root (sem solicitação de senha graças ao visudo)\nsudo veracrypt --text --non-interactive --keyfiles=\"/tmp/temp_keyfile.key\" --password=\"{{ $json.vc_pwd }}\" --protect-hidden=no \"/mnt/Storage1/Diverses/Backup/System.bak\" \"/mnt/Storage1/frankenphp/www/img/external\"\n\n# 4. Destruir o arquivo de chave de forma absolutamente segura (irrevogável) do disco rígido\nshred -u /tmp/temp_keyfile.key"
},
"type": "n8n-nodes-base.ssh",
"typeVersion": 1,
"position": [
208,
0
],
"id": "6e4353ce-36fc-4814-921b-73db4ec2d27b",
"name": "Execute a command",
"credentials": {
"sshPrivateKey": {
"id": "fMLJ7Uoza0CFhRy3",
"name": "SSH Private Key account"
}
}
}
],
"connections": {
"On form submission": {
"main": [
[
{
"node": "Execute a command",
"type": "main",
"index": 0
}
]
]
}
],
"pinData": {},
"meta": {
"templateCredsSetupCompleted": true,
"instanceId": "f7540226fe43062b2dc4ccc946cf125acc99ca63606204c72cd424a5c9226c74"
}
}
Informações sobre sua configuração n8n
- Versão n8n: 2.30.7
- Banco de dados (padrão: SQLite): padrão
- Configuração EXECUTIONS_PROCESS do n8n (padrão: own, main): padrão
- Executando n8n via (Docker, npm, n8n cloud, desktop app): Docker/CasaOS
- Sistema operacional: Ubuntu 26.04 LTS