Software⏱️ 3 min read📅 2026-06-15

How to Fix: Jenkins SSH Windows node bash error

Jenkins SSH Windows node bash error fix for continuous integration.

Quick Answer: Use Cygwin 32bit SSH server and configure Jenkins to use it, or run both servers on different ports for flexibility.

Jenkins users who are setting up SSH nodes on Windows systems may encounter an error when trying to add a new node. The error message 'bash: cannot set terminal process group (-1): Inappropriate ioctl for device bash: no job control in this shell' is displayed, making it difficult to diagnose and resolve the issue.

This error can be frustrating as it prevents users from successfully adding SSH nodes to their Jenkins server, hindering continuous integration and deployment processes.

🔍 Why This Happens

  • The primary reason for this error is due to the limitation of the Windows system's native bash shell. The bash shell on Windows systems does not support job control, which is required for setting up an SSH connection.
  • Another possible cause could be a compatibility issue between the Cygwin SSH server and the Jenkins plugin. However, since using Cygwin SSH server resolves the issue, this alternative reason is less likely to be the primary cause.

🚀 How to Resolve This Issue

Using a compatible bash shell

  1. Step 1: Download and install Git Bash or Windows Subsystem for Linux (WSL) on the Windows system. These tools provide a compatible bash shell that supports job control.
  2. Step 2: Configure the Jenkins plugin to use the new bash shell by updating the 'Command to run' field in the Jenkins node configuration. This may involve adding the path to the bash shell executable, such as '/c/gitbash.exe' or '/usr/bin/wsl.exe'.
  3. Step 3: Restart the Jenkins service and try adding the SSH node again. The error should be resolved if a compatible bash shell is used.

Using Cygwin SSH server on separate ports

  1. Step 1: Install and configure Cygwin SSH server on two separate ports, one for each bit-depth (32-bit and 64-bit). This will allow users to run both SSH servers simultaneously without conflicts.
  2. Step 2: Update the Jenkins plugin configuration to use the correct port numbers for the Cygwin SSH server. This may involve adding environment variables or editing the 'Command to run' field in the node configuration.

✨ Wrapping Up

To resolve the 'bash: cannot set terminal process group (-1): Inappropriate ioctl for device bash: no job control in this shell' error when adding an SSH node to Jenkins on a Windows system, users can try using a compatible bash shell such as Git Bash or WSL. Alternatively, running Cygwin SSH server on separate ports provides a flexible solution that allows users to run both 32-bit and 64-bit servers simultaneously.

Did this fix your problem?

If not, try searching for specific error codes.

🔍 Search Error Database

❓ Frequently Asked Questions