AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1537763
Accepted
Thufir
Thufir
Asked: 2020-04-02 00:11:59 +0800 CST2020-04-02 00:11:59 +0800 CST 2020-04-02 00:11:59 +0800 CST

Localização do arquivo de configuração OpenSSH no Windows

  • 772

Como defino o nome do host e a porta em um arquivo de configuração para Windows usando OpenSSHo PowerShell?

Como no Unix/Linux:

Edite ou crie o arquivo agora digitando:

nano ~/.ssh/config

Aqui, você pode definir opções de configuração específicas do host. Para especificar sua nova porta, use um formato como este:

Host remote_alias HostName remote_host Port port_num

Isso permitirá que você faça login sem especificar o número da porta específica na linha de comando.

https://www.digitalocean.com/community/tutorials/ssh-essentials-working-with-ssh-servers-clients-and-keys

windows command-line
  • 4 4 respostas
  • 62818 Views

4 respostas

  • Voted
  1. Martin Prikryl
    2020-04-04T01:25:27+08:002020-04-04T01:25:27+08:00

    A configuração do OpenSSH e os arquivos de chave (incluindo config, known_hosts, authorized_keys, id_rsaetc.), que no *nix vão para ~/.ssh, no Win32-OpenSSH eles vão para %USERPROFILE%\.ssh.

    Isso normalmente é:

    C:\Users\username\.ssh
    
    • 12
  2. Best Answer
    LinkPhoenix
    2021-03-10T03:06:19+08:002021-03-10T03:06:19+08:00

    No Windows 10 com PowerShell, os arquivos de configuração não são criados, então temos que criá-los nós mesmos.

    Esta resposta foi feita com: Windows 10 PRO 20H2 (Build 19042.804)
    E com o último OpenSSH-Portable (v8.1.0.0p1-Beta) do GitHub oficial aqui

    OBS 1 : Aqui mostro como configurar apenas o arquivo de configuração "config" na pasta .ssh , que deve estar na pasta do usuário $HOME\.ssh, pois é o que é necessário, normalmente, me parece que os outros arquivos são criados automaticamente quando um servidor Open-SSH instalado. se não for o caso, basta adaptar as linhas de comando

    NOTA 2 : Ter Git for Windows e OpenSSH-portable pode causar problemas para a configuração do agente, então você deve saber que é o SSH-Agent usado pelo serviço do Windows

    Você pode descobrir qual ssh-agent é usado pelo serviço do Windows com este comando:

    Get-WmiObject win32_service | ?{$_.Name -like 'ssh-agent'} | select PathName
    

    Se o Get-WmiObjectcomando não funcionar mais, você pode usar o Get-CimInstancecomando que deve ser seu sucessor definitivo para novas versões do PowerShell


    # Create the config file with Powershell
    New-Item -Path $HOME\.ssh\config -ItemType File
    
    # Open config File with Notepad
    C:\WINDOWS\System32\notepad.exe $HOME\.ssh\config
    
    # or Open file with Visual Code
    code $HOME\.ssh\config
    

    Depois disso, você pode configurar o arquivo de configuração SSH como quiser com a mesma sintaxe do Linux

    pequeno exemplo

    # Config for use specific key for github
    Host github.com
      HostName github.com
      User git
      IdentityFile ~/.ssh/id_ed25519_github
      IdentitiesOnly yes
    
    # For server 172.x.x.x
    Host 172.x.x.x
      User user
      Port 2121
      IdentityFile ~/.ssh/id_ed25519
      IdentitiesOnly yes
    
    # For all other servers
    Host *
            User root
    

    Agora você pode testar sua configuração assim:

    # For Github
    
    ssh -T [email protected]
    
    # For other
    # It is possible not to put the user to check,
    # if you have indicated a specific user
    # in the conf file, to test if the configuration
    # will connect well with this user
    
    ssh -T 172.x.x.x
    

    Se o ssh não funcionar , é porque você não tem a pasta OpenSSH em suas variáveis ​​de ambiente, você pode adicioná-la à variável de ambiente do sistema como aquela no Powershell se instalar o
    OpenSSH Binary em C:\Program Files
    e a pasta o nome é OpenSSH-Win64

    # PowerShell admin
    # Add folder OpenSSH to your System Environnement
    [System.Environment]::SetEnvironmentVariable('OPENSSH', 'C:\Program Files\OpenSSH-Win64', [System.EnvironmentVariableTarget]::Machine)
    

    Outro Comando

    # Generate EdDSA Key
    ssh-keygen.exe -t ed25519 -a 100 -o -C "[email protected]" -f "$HOME\.ssh\id_ed25519_example.com"
    
    # Config the SSH Agent service
    # For start the service when logon
    Set-Service ssh-agent -StartupType Automatic
    
    # Start the SSH Agent
    Start-Service ssh-agent
    
    # Restart service always when you change the config file
    Restart-Service ssh-agent
    
    # Add the key to the SSH Agent
    ssh-add $HOME\.ssh\id_ed25519_example.com
    
    • 9
  3. P O
    2022-10-22T14:52:10+08:002022-10-22T14:52:10+08:00

    Resposta simples à pergunta "onde está localizado o arquivo de configuração do windows openssh CLIENT?"

    Para as janelas Openssh CLIENTE C:\ProgramData\ssh\ssh.config

    Observe que este arquivo não é criado automaticamente, você mesmo pode criar um. O arquivo é semelhante ao sshD.config, que também está localizado lá, mas é uma configuração para o OpenSSH Server no Windows.

    Observe também que as cifras e chaves são definidas como padrão para nenhum, portanto, no mínimo, você precisa defini-lo como tal no arquivo ssh.config : (+ significa adicionar a quaisquer entradas existentes):

    Ciphers +aes128-cbc,aes256-cbc,3des-cbc
    KexAlgorithms +diffie-hellman-group1-sha1
    HostkeyAlgorithms +ssh-rsa
    

    A configuração acima funciona para o cliente Cisco SSH para o servidor Win SSH e o cliente Win SSH para o servidor Cisco SSH. para outros, você precisa ver os erros retornados ao emitir o comando SSH no qual faltam cifras e chaves.

    por exemplo, no cliente Win SSH:

    PS C:\Users\poh> ssh 192.168.111.2

    Unable to negotiate with 192.168.111.2 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1

    No servidor Cisco SSh: (use o comando - debug ip ssh all)

    *Mar  1 12:31:59.020: SSH2 0: no matching cipher found: client [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],
    *Mar  1 12:31:59.128: SSH0: Session disconnected - error 0x00
    

    portanto, com base nos erros, o cliente Win precisa da entrada no arquivo ssh.config.:

    KexAlgorithms +diffie-hellman-group1-sha1

    • 1
  4. lewis hamilton
    2020-04-02T03:17:12+08:002020-04-02T03:17:12+08:00

    Após a instalação do OpenSSH, execute algumas etapas de configuração adicionais.

    Certifique-se de que a pasta OpenSSH esteja incluída na variável de ambiente do caminho do sistema:

    C:\Windows\System32\OpenSSH\se instalado como o recurso opcional do Windows C:\Program Files\OpenSSH\se instalado por meio do download do OpenSSH Configure os dois serviços para iniciar automaticamente:

    # PowerShell Admin
    # Config services sshd and ssh-agent
    # for start automatic when logon
    Set-Service sshd -StartupType Automatic
    Set-Service ssh-agent -StartupType Automatic
    

    Se você instalou o OpenSSH com o recurso opcional, o Windows criará uma nova regra de firewall para permitir o acesso de entrada do SSH pela porta 22. Se você instalou o OpenSSH a partir do download, crie a regra de firewall com este comando:

    # PowerShell Admin
    # Add FireWall Rules for OpenSSH Server
    New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' `
    -Enabled True -Direction Inbound -Protocol TCP `
    -Action Allow -LocalPort 22
    

    Inicie o serviço sshd para gerar as chaves SSH:

    # PowerShell Admin
    Start-Service sshd
    

    As chaves SSH e o arquivo de configuração residem em C:\ProgramData\ssh, que é uma pasta oculta. O shell padrão usado pelo SSH é o shell de comando do Windows. Isso precisa mudar para o PowerShell:

    # PowerShell Admin
    New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell `
    -Value "C:\Program Files\PowerShell\6\pwsh.exe" -PropertyType String -Force
    

    Agora, quando você se conectar ao sistema por SSH, o PowerShell Core será iniciado e será o shell padrão. Você também pode tornar o shell padrão Windows PowerShell, se desejar.

    Há um bug no OpenSSH no Windows. Não funciona com caminhos com espaço, como o caminho para o executável do PowerShell Core! A solução alternativa é criar um link simbólico que crie um caminho que o OpenSSH possa usar:

    # PowerShell Admin
    New-Item -ItemType SymbolicLink -Path C:\pwsh -Target 'C:\Program Files\PowerShell\6'
    

    No arquivo sshd_config , descomente as seguintes linhas:

    PubkeyAuthentication yes
    PasswordAuthentication yes
    

    Adicione esta linha antes de outras linhas do subsistema:

    Subsystem  powershell C:\pwsh\pwsh.exe -sshs -NoLogo -NoProfile
    

    Isso diz ao OpenSSH para executar o PowerShell Core.

    Comente a linha:

    AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
    

    Depois de salvar as alterações no arquivo sshd_config, reinicie os serviços:

    # PowerShell Admin
    Restart-Service sshd
    Start-Service ssh-agent
    

    Você precisa reiniciar o serviço sshd após qualquer alteração no arquivo de configuração.

    • 0

relate perguntas

  • Qual seria o equivalente em lote do argumento "pass" do Python?

  • Não é possível ativar o Microsoft Print to PDF depois de desativado

  • Comunique-se com o daemon do Docker no Windows

  • atalho do shell da área de trabalho no painel lateral do explorer

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 Por que uma conexão de Internet gigabit/s via cabo (coaxial) não oferece velocidades simétricas como fibra? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve