Notices: This section not yet converted to new layout. Download stats are rolling back out.

This is not the latest version of Bitvise SSH Server available.

Bitvise SSH Server


Package test results are passing.

Private CDN cached downloads available for licensed customers. Never experience 404 breakages again! Learn more...

This package was approved as a trusted package on 7/21/2019.

Bitvise SSH Server (previously WinSSHD) provides secure remote login capabilities. Security is our SSH server's key feature: in contrast with Telnet and FTP servers, Bitvise SSH Server encrypts data during transmission. Thus, no one can sniff your password or see what files you are transferring when you access your computer over SSH.

Bitvise SSH Server is ideal for remote administration of Windows servers; for advanced users who wish to access their home machine from work, or their work machine from home; as well as for a wide spectrum of advanced tasks, such as establishing a VPN using the SSH TCP/IP tunneling feature, or providing a secure file depository using SFTP.

Personal Edition (installed by default) is free for non-commercial, personal use. It has the following limitations:

  • Can use only local Windows accounts (no domains).
  • Can configure only one Windows group ('everyone').
  • Can configure only one virtual group.
  • Has a limit of 10 Windows account entries.
  • Has a limit of 10 virtual account entries.
  • GSSAPI authentication is disabled (Kerberos and NTLM).

For any organizational use (non-commercial or commercial) or to remove the limitations of the Personal Edition, it is required to purchase a Standard Edition license and will require re-installing this package with the parameter -standardedition. See for more information.

Package Parameters

  • '"/installDir=C:\Path\to\installationdirectory"' - overwrite the default installation directory
  • '"/site=site-name"'
  • '"/renameExistingDir=existingDir"'
  • '"/force"'
  • '"/acceptEULA"'
  • '"/interactive"'
  • '"/noRollback"'
  • '"/activationCode=activation-code-hex"'
  • '"/keypairs=keypairs-file"'
  • '"/settings=settings-file"'
  • '"/instanceTypeSettings=fileName"'
  • '"/certificates=fileName"'
  • '"/startService"'
  • '"/startBssCtrl"'

Note: Use two single quotes when double quotes are desired."


  • choco install bitvise-ssh-server -params '"/InstallLocation=C:\temp"'

Please Note: This is an automatically updated package. If you find it is
out of date by more than a day or two, please contact the maintainer(s) and
let them know the package is no longer updating correctly.

To install Bitvise SSH Server, run the following command from the command line or from PowerShell:

C:\> choco install bitvise-ssh-server --version 8.34

To upgrade Bitvise SSH Server, run the following command from the command line or from PowerShell:

C:\> choco upgrade bitvise-ssh-server --version 8.34


  • tools\chocolateyInstall.ps1 Show
    $ErrorActionPreference = 'Stop';
    $toolsDir     = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
    $url          = ''
    $checksum     = 'f57f8464d4b9eec9784316b776b88220367923e5c7202ae87c0c3efd1a050b47'
    $checksumType = 'sha256'
    $silentArgs = ''
    $packageParameters = Get-PackageParameters
    # Default values
    #$installDir = "directory"
    $defaultSite = $true
    #$site = "name"
    $force = $false
    $acceptEULA = $true
    $interactive = $false
    $noRollback = $false
    #$renameExistingDir = "existingDir"
    #$activationCode = "hex-code"
    #$keypairs = "file"
    #$settings = "file"
    #$siteTypeSettings = "file"
    $startService = $false
    $startBssCtrl = $false
    # parse packageParameters with regular expressions
    if ( $packageParameters.installDir ) {
      Write-Host "installDir Argument Found"
      $installDir = $packageParameters.installDir
      $silentArgs += " -installDir=" + $installDir
      $defaultSite = $false
    } elseif ( $ ) {
      Write-Host "site Argument Found"
      $siteName = $
      $silentArgs += " -instance=" + $siteName
      $defaultSite = $false
    # rename install location
    if ( $packageParameters.renameExistingDir ) {
      Write-Host "renameExistingDir Argument Found"
      $renameExistingDir = $packageParameters.renameExistingDir
      $silentArgs += " -renameExistingDir=" + $renameExistingDir
    if ( $packageParameters.force ) {
      Write-Host "force Argument Found"
      $force = $true
    if ( $packageParameters.interactive ) {
      Write-Host "interactive Argument Found"
      $interactive = $true
    if ( $packageParameters.noRollback ) {
      Write-Host "noRollback Argument Found"
      $noRollback = $true
    if ( $packageParameters.activationCode ) {
      Write-Host "activationCode Argument Found"
      $activationCode = $packageParameters.activationCode
      $silentArgs += " -activationCode=" + $activationCode
    if ( $packageParameters.keypairs ) {
      Write-Host "keypairs Argument Found"
      $keypairFile = $packageParameters.keypairs
      $silentArgs += " -keypairs=" + $keypairFile
    if ( $packageParameters.settings ) {
      Write-Host "settings Argument Found"
      $settingsFile = $packageParameters.settings
      $silentArgs += " -settings=" + $settingsFile
    if ( $packageParameters.instanceTypeSettings ) {
      Write-Host "instanceTypeSettings Argument Found"
      $instanceTypeSettings = $packageParameters.instanceTypeSettings
      $silentArgs += " -instanceTypeSettings=" + $instanceTypeSettings
    if ( $packageParameters.certificates ) {
      Write-Host "certificates Argument Found"
      $certificates = $packageParameters.certificates
      $silentArgs += " -certificates=" + $certificates
    if ( $packageParameters.startService ) {
      Write-Host "startService Argument Found"
      $startService = $true
    if ( $packageParameters.startBssCtrl ) {
      Write-Host "startBssCtrl Argument Found"
      $startBssCtrl = $true
    if ($force) { $silentArgs += " -force" }
    if ($interactive) { $silentArgs += " -interactive" }
    if ($noRollback) { $silentArgs += " -noRollback" }
    if ($acceptEULA) { $silentArgs += " -acceptEULA" }
    if ($defaultSite) { $silentArgs += " -defaultInstance" }
    if ($startService) { $silentArgs += " -startService" }
    if ($startBssCtrl) { $silentArgs += " -startBssCtrl" }
    $packageArgs = @{
      packageName    = $env:ChocolateyPackageName
      unzipLocation  = $toolsDir
      fileType      = 'exe'
      url           = $url
      checksum      = $checksum
      checksumType  = $checksumType
      softwareName  = "Bitvise SSH Server*"
      silentArgs    = $silentArgs
      validExitCodes= @(0..63)
    Install-ChocolateyPackage @packageArgs
  • tools\chocolateyUninstall.ps1 Show
    $ErrorActionPreference = 'Stop'; # stop on all errors
    $packageArgs = @{
      packageName   = $env:ChocolateyPackageName
      softwareName  = 'Bitvise SSH Server*'
      fileType      = 'exe'
      silentArgs    = "-unat"
      validExitCodes= @(0, 1) # unattended uninstall exits with code 1
    $uninstalled = $false
    [array]$key = Get-UninstallRegistryKey -SoftwareName $packageArgs['softwareName']
    if ($key.Count -eq 1) {
      $key | ForEach-Object {
        $packageArgs['file'] = "$($_.DisplayIcon)" # contains path to uninst.exe
        # uninst.exe needs product name as an additional parameter for uninstallation
        $packageArgs['silentArgs'] = "`"$($_.ProductName)`" $($packageArgs['silentArgs'])"
        Uninstall-ChocolateyPackage @packageArgs
    } elseif ($key.Count -eq 0) {
      Write-Warning "$packageName has already been uninstalled by other means."
    } elseif ($key.Count -gt 1) {
      Write-Warning "$($key.Count) matches found!"
      Write-Warning "To prevent accidental data loss, no programs will be uninstalled."
      Write-Warning "Please alert package maintainer the following keys were matched:"
      $key | ForEach-Object {Write-Warning "- $($_.DisplayName)"}

Virus Scan Results

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.


Package Maintainer(s)

Software Author(s)

  • Bitvise Limited


Bitvise Limited


Release Notes

Version History

Version Downloads Last updated Status
Bitvise SSH Server 8.34 235 Monday, June 17, 2019 approved
Bitvise SSH Server 8.33 132 Wednesday, May 29, 2019 approved
Bitvise SSH Server 8.32 280 Friday, April 19, 2019 approved
Bitvise SSH Server 8.31 72 Tuesday, April 16, 2019 approved
Bitvise SSH Server 8.29 157 Saturday, March 23, 2019 approved
Bitvise SSH Server 8.28 81 Friday, March 15, 2019 approved
Bitvise SSH Server 8.27 101 Monday, March 4, 2019 approved
Bitvise SSH Server 8.26 84 Friday, February 22, 2019 approved
Bitvise SSH Server 8.25 68 Monday, February 18, 2019 approved
Show More

Discussion for the Bitvise SSH Server Package

Ground rules:

  • This discussion is only about Bitvise SSH Server and the Bitvise SSH Server package. If you have feedback for Chocolatey, please contact the google group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or Bitvise SSH Server, or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.

comments powered by Disqus uses cookies to enhance the user experience of the site.