Putty: como suprimir alertas de segurança?

5

Como posso desabilitar alertas de segurança como "A chave do host do servidor não está armazenada em cache no registro, bla-bla-bla", "a identidade do host é alterada, existe man-in-the-middle", etc

Eles são desnecessários no ambiente de hospedagem na nuvem, onde muitas novas instâncias do servidor aparecem. E também, é normal que eventualmente haja um novo servidor no mesmo IP.

No cliente linux ssh eu fiz isso com as seguintes linhas no meu .bashrc:

alias ssh='ssh -o "StrictHostKeyChecking no" -o "UserKnownHostsFile=/dev/null" -o "CheckHostIP=no"'
alias scp='scp -o "StrictHostKeyChecking no" -o "UserKnownHostsFile=/dev/null" -o "CheckHostIP=no"'
Mas como fazer isso em massa?     
por user78041 12.02.2010 / 21:12

9 respostas

3

parece não ter qualquer esperança :

No, there isn't. And there won't be. Even if you write it yourself and send us the patch, we won't accept it.

    
por 12.02.2010 / 21:45
3

Eu uso o AutoHotkey para criar um script que é executado em segundo plano e procura por pop-ups de aviso específicos com os quais não me importo, fechando-os automaticamente.

#Persistent
    SetTimer, ClosePopups, 100  ; Check every 1/10 of a second
return

ClosePopups:
    ; Putty popup definition
    IfWinExist, PuTTY Security Alert
    {
        WinActivate PuTTY Security Alert
        Send !y ; Press Alt+Y
    }

    ; Here's another example of a popup definition, for reference
    IfWinExist, Cisco AnyConnect Secure Mobility Client
    {
        WinGetText, output, Cisco AnyConnect Secure Mobility Client
        if output contains Connecting to this server may result in a severe security compromise
        {
            WinActivate Cisco AnyConnect Secure Mobility Client
            Send {Tab}{Space}
        }
    }

return
    
por 21.11.2013 / 19:23
2

Eu encontrei uma solução para isso.

Sempre que você fizer login pela Putty em qualquer máquina pela primeira vez, receberá essa mensagem de segurança. Clique em Sim e ele armazenará em cache a chave do host do servidor no seu sistema. O alerta não será exibido se você fizer login como o mesmo usuário na próxima vez.

Então, o truque é:

Fazer check-in na pasta Appdata \ Local

Após a chave do host ser armazenada em cache, você verá os arquivos mencionados abaixo (.DAT e .RND) no seguinte local:

C:\Users\your_User\Appdata\Local

GDIPFONTCACHEV1.DAT e PUTTY.RND

Agora basta copiar e colar os dois arquivos para cada usuário com o qual você deseja efetuar login no mesmo local C: \ Users \ Another_User \ Appdata \ Local

Isso funcionou para mim.

    
por 13.09.2016 / 12:40
1

Depois de muita pesquisa, encontrei a resposta aqui:

echo y | ssh -pw yourpassword [email protected]

link

    
por 16.02.2010 / 21:19
1

As chaves de host aceitas para um usuário específico são armazenadas no registro. Depois que o usuário atual aceitar a (s) chave (s), eles poderão ser disponibilizados para outras pessoas exportando as entradas do registro do usuário atual, modificando o caminho para o novo usuário e, em seguida, importando-as novamente.

  1. Usando o REGEDIT, exporte:

    [HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys]

  2. Abra o arquivo .reg que contém a exportação

  3. Alterar todas as instâncias de

    HKEY_CURRENT_USER

    para

    HKEY_USERS\S-x-x-xx-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx-xxxxxx

em que S-x-x-xx-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx-xxxxxx é o SID do usuário em questão.

  1. Execute o arquivo .reg para importar de volta para o registro desse usuário:

    [HKEY_USERS\S-x-x-xx-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx-xxxxxx\Software\SimonTatham\PuTTY\SshHostKeys]

NOTA: Os mapeamentos de nome de usuário / SID podem ser encontrados em:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList]

    
por 14.06.2017 / 23:15
0

Não há sinalizador "voluntário" para ignorar o aviso do ssh.

Aqui está o que eu fiz para contornar isso:

$wshell = New-Object -ComObject wscript.shell

foreach($thisHost in $hostList)
{  
    foreach($file in $list)
    {
        .... stuff
        Write-Host "Copying file: " $file.FullName
        .... stuff
        Start-Process $PuttyExe -ArgumentList ($args)
        $wshell.SendKeys("Y")
        $wshell.SendKeys("{ENTER}")
        Sleep 1 
    }
}
    
por 08.06.2018 / 22:21
-1

Você pode tentar a seguinte opção:

    
por 04.12.2015 / 11:01
-1

Baseado em uma das respostas acima, isso funcionou para mim com ver 0.70:

echo y | plink -pw password -m usuário NUL @ host

Após essa putty não mostrar um prompt: putty -ssh -pw senha user @ host

    
por 02.08.2017 / 11:23
-1

é só usar o switch "-batch", por ex. plink -batch -ssh ...

    
por 04.07.2018 / 20:22

Tags