Octopus Server and Tentacle establish secure communication using TLS with mutual RSA certificate authentication. TLS configuration is handled by the underlying operating system - Schannel on Windows and OpenSSL on Linux.
This guide helps you diagnose and resolve TLS handshake failures between Octopus Server and Tentacle agents.
Before troubleshooting, ensure both systems meet the minimum TLS requirements for protocol versions, cipher suites, and signature algorithms.
Common Symptoms
TLS communication failures typically manifest as:
- Connection timeouts or handshake failures in Octopus Server logs and deployment task logs
- Tentacle health checks failing with TLS-related errors
- Event log errors on Windows mentioning Schannel or certificate validation
- OpenSSL handshake errors on Linux systems
Quick Diagnostic Steps
1. Verify Protocol Support
Ensure both the Octopus Server and Tentacle support at least TLS 1.2. TLS 1.3 is recommended but optional.
Windows (GUI):
IISCrypto from Nartac Software can be used to easily view and change Schannel settings on Windows. Changing the Schannel configuration always requires a machine restart.
Windows (PowerShell):
# Check TLS 1.2 registry settings
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -Name Enabled -ErrorAction SilentlyContinue
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -Name Enabled -ErrorAction SilentlyContinue
# Check TLS 1.3 registry settings (Windows Server 2022+ / Windows 11+)
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client' -Name Enabled -ErrorAction SilentlyContinue
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server' -Name Enabled -ErrorAction SilentlyContinue
Linux:
# Check OpenSSL TLS support
openssl s_client -connect <Octopus-host>:10943 -tls1_2
openssl s_client -connect <Octopus-host>:10943 -tls1_3
2. Verify Cipher Suite Compatibility
The following cipher suites must be enabled on both systems:
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384TLS_CHACHA20_POLY1305_SHA256
Windows (PowerShell):
# List enabled cipher suites
Get-TlsCipherSuite | Select-Object Name | Where-Object { $_.Name -like "*ECDHE*RSA*" }
Linux:
# Test cipher suite support
openssl ciphers -v 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384'
3. Check Event Logs and Service Logs
Windows Event Viewer:
- Look for Schannel errors in
Applications and Services Logs > Microsoft > Windows > Schannel > Operational - Common error codes:
- Event ID 36887: No compatible cipher suite found
- Event ID 36888: Fatal alert received (handshake failure)
- Event ID 36870: Certificate validation failure
Octopus Server Logs:
- Check
C:\Octopus\Logsfor TLS handshake errors - Look for certificate trust or validation issues
Tentacle Logs:
- Check
C:\Octopus\(Windows) or/etc/octopus/(Linux)
4. Use TentaclePing as a lightweight tool for testing
We have built a small utility for testing the communications protocol between two servers called Tentacle Ping. This tool helps isolate the source of communication problems without needing a full Octopus configuration. It is built as a simple client and server component that emulates the communications protocol used by Octopus Server and Tentacle.
Common Issues and Solutions
Issue: TLS 1.3 Handshake Failures
Symptom: Connection works with TLS 1.2 but fails with TLS 1.3 enabled.
Cause: Many TLS 1.3 hardening templates disable PKCS#1 v1.5 signature padding, which Octopus RSA certificates require.
Solution:
Ensure at least one of these RSA signature schemes is enabled:
rsa_pkcs1_sha256(PKCS#1 v1.5)rsa_pss_rsae_sha256(RSA-PSS)
Windows (Registry):
# Verify signature algorithms (requires admin rights)
$path = "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\SignatureAlgorithms"
Get-ChildItem $path
Linux (OpenSSL config):
Check /etc/ssl/openssl.cnf for signature algorithm restrictions.
Issue: No Compatible Cipher Suite
Symptom: Event ID 36887 or handshake failure with “no shared cipher” error.
Cause: Custom TLS hardening policies have disabled all required cipher suites.
Solution:
Re-enable at least one required cipher suite (see minimum requirements).
Windows (PowerShell - Admin):
# Enable a required cipher suite
Enable-TlsCipherSuite -Name "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
Linux:
Update your OpenSSL or system-wide TLS policy to include required suites.
Issue: Elliptic Curve Mismatch
Symptom: ECDHE key exchange failures.
Cause: Required elliptic curve secp256r1 (P-256) has been disabled.
Solution:
Ensure secp256r1 is enabled for ECDHE key exchange.
Windows (PowerShell - Admin):
# Enable P-256 curve
Enable-TlsEccCurve -Name "NistP256"
Linux:
Verify curve support:
openssl ecparam -list_curves | grep "secp256r1"
Issue: SHA-1 Server Certificate Rejection
Symptom:
- Tentacles fail to connect to Octopus Server with certificate validation errors
- Linux-based Tentacles (especially on modern distributions) cannot establish connections
- OpenSSL 3.x systems reject the connection with “unsafe legacy renegotiation” or certificate validation errors
- Errors mentioning “SHA-1” or “insecure signature algorithm” in logs
Cause:
Octopus Server generates a self-signed X.509 certificate on first installation, which is stored in the database and persists across upgrades. Very early Octopus installations (pre-2017) may still be using SHA-1 signed server certificates.
Modern operating systems, especially:
- Linux distributions with OpenSSL 3.x (Ubuntu 22.04+, RHEL 9+, Debian 12+)
- Hardened Windows systems with strict cryptographic policies
- Systems with FIPS mode enabled
…explicitly block SHA-1 certificates as cryptographically insecure and will refuse TLS connections.
Tentacle certificates are less likely to use SHA-1, as they are regenerated locally on the client machine during the installation process. This issue primarily affects long-running Octopus Server instances with certificates that have never been regenerated. This API Script can be used to check if any Tentacles are communicating with a SHA1 certificate.
Solution:
You must regenerate your Octopus Server certificate to use SHA-256.
This is critical for security and compatibility. SHA-1 has been deprecated since 2017 due to collision vulnerabilities. Modern systems will not trust SHA-1 certificates.
-
Check your Octopus Server certificate signature algorithm:
In the Octopus Web Portal, navigate to Configuration → Thumbprint. The certificate details page will show the signature algorithm. If it displays SHA-1, you must regenerate the certificate.
-
Regenerate the Octopus Server certificate with SHA-256:
Follow the certificate regeneration documentation to create a new SHA-256 signed certificate for your Octopus Server.
-
Update Tentacle trust after certificate regeneration
Note: Certificate regeneration requires re-establishing trust with all Tentacle agents. Plan this maintenance window accordingly, as all Tentacles will need to be updated with the new Server thumbprint.
Issue: Legacy Protocol Enforcement
Symptom: Connection fails after disabling TLS 1.0/1.1.
Cause: One system still requires an older protocol version.
Solution:
Ensure both Octopus Server and Tentacle are running current versions that support TLS 1.2 or higher. Update any outdated installations.
TLS 1.0 and 1.1 are deprecated and should not be used. Ensure all systems support at least TLS 1.2.
Advanced Troubleshooting
Capture and Analyze TLS Handshakes
Windows - Network Tracing:
-
Use Wireshark or netsh to capture traffic between Server and Tentacle:
netsh trace start capture=yes tracefile=C:\temp\tls-trace.etl # Reproduce the issue netsh trace stop -
Convert the trace to
.pcapfor analysis in Wireshark -
Filter for TLS handshake messages to identify failures
Linux - tcpdump:
sudo tcpdump -i any -w /tmp/tls-capture.pcap host <Octopus-ip> and port 10943
Analyze the capture for:
- Client Hello and Server Hello messages
- Cipher suite negotiation
- Certificate exchange and validation
- Alert messages indicating failure reasons
Test Direct TLS Connection
Use OpenSSL to test raw TLS connectivity:
# Test from Tentacle to Octopus
openssl s_client -connect <Octopus-host>:10943 -tls1_2 -cipher ECDHE-RSA-AES128-GCM-SHA256
# Check certificate details
openssl s_client -connect <Octopus-host>:10943 -showcerts
Look for handshake completion and certificate validation success.
Validating Your Configuration
After making changes:
- Restart services:
- Restart Octopus Server service
- Restart Tentacle service
- Test connectivity:
- Run a health check from the Octopus portal
- Check task logs for successful connections
Getting Help
If you continue experiencing issues:
-
Collect diagnostic information:
- Octopus Server and Tentacle versions
- Operating system versions
- Enabled TLS protocols and cipher suites
- Relevant event log entries and service logs
- Network trace (if possible)
-
Contact Octopus Support with this information
See Also
Help us continuously improve
Please let us know if you have any feedback about this page.
Page updated on Friday, November 14, 2025