---
title: Uninstall rsh Package
description: Datadog, the leading service for cloud-scale monitoring.
breadcrumbs: Docs > Datadog Security > OOTB Rules > Uninstall rsh Package
---

> For the complete documentation index, see [llms.txt](https://docs.datadoghq.com/llms.txt).

# Uninstall rsh Package
 
## Description{% #description %}

The `rsh-client` package contains the client commands for the rsh services

## Rationale{% #rationale %}

These legacy clients contain numerous security exposures and have been replaced with the more secure SSH package. Even if the server is removed, it is best to ensure the clients are also removed to prevent users from inadvertently attempting to use these commands and therefore exposing their credentials. Note that removing the `rsh-client` package removes the clients for `rsh`,`rcp`, and `rlogin`.

## Remediation{% #remediation %}

### Shell script{% #shell-script %}

The following script can be run on the host to remediate the issue.

```bash
#!/bin/bash

# CAUTION: This remediation script will remove rsh-client
# from the system, and may remove any packages
# that depend on rsh-client. Execute this
# remediation AFTER testing on a non-production
# system!


# check wether the package is virtual: if not, remove it.
# if the package is virtual, iterate on providers
#  if a provider is installed, remove it
is_virtual=`apt-cache showpkg "rsh-client" | grep -Pzc 'Versions: \n\n'`
if [ $is_virtual = 1 ]; then
    rprovides_line=`apt-cache showpkg "rsh-client" | grep -n 'Reverse Provides:' | cut -f1 -d:`
    pkglist=`apt-cache showpkg "rsh-client" | tail -n +$(($rprovides_line + 1)) | cut -f1 -d' '`
    for package in $pkglist; do
        not_installed=`apt-cache policy $package | grep -c 'Installed: (none)'`
	if [ $not_installed = 0 ]; then
	    DEBIAN_FRONTEND=noninteractive apt-get -o DPkg::Lock::Timeout=60 remove -y $package
	fi
    done
else
    DEBIAN_FRONTEND=noninteractive apt-get -o DPkg::Lock::Timeout=60 remove -y "rsh-client"
fi
```

### Ansible playbook{% #ansible-playbook %}

The following playbook can be run with Ansible to remediate the issue.

```
- name: 'Uninstall rsh Package: Ensure rsh-client is removed'
  ansible.builtin.package:
    name: rsh-client
    state: absent
  tags:
  - NIST-800-171-3.1.13
  - PCI-DSSv4-2.2
  - PCI-DSSv4-2.2.4
  - disable_strategy
  - low_complexity
  - low_disruption
  - no_reboot_needed
  - package_rsh_removed
  - unknown_severity
```
