Ошибка при подключении к SHH при сборке проекта в Jenkins

Добрый день. При попытке подключиться к серверу по SSH возникает ошибка. Установил плагин SSH agent, проект запускается через в Jenkinsfile (использую GitLab, если это важно).
Использую следующий синтаксис:

stage('Connect to SSH') {
            steps {
                sshagent (credentials: ['4******6-****-****-****-135a****ojwe']) {
                    sh label: '', script: 'cd /home/***/'
                    sh label: '', script: './*** stop'
                    sh label: '', script: 'rm -f ***.jar'
                }
            sh label: '', script: '...'
            }
        }

Ошибка следующего содержания:

FATAL: [ssh-agent] Could not find specified credentials

Подскажите, пожалуйста, что можно предпринять и с чем может быть это связанно?

Вы уверены, что вы передаёте правильное название credentials?
Здесь подробная инструкция: SSH Agent

Вы были правы, действительно, не так указывал ID.
Но теперь другая проблема. После подключения, мне нужно пройти по определенному пути и произвести действия с файлом. НО Jenkins ищет пути и файлы в workspaces, а не на сервере…
Пример:

[ssh-agent] Using credentials dev
[ssh-agent] Looking for ssh-agent implementation...
[ssh-agent]   Exec ssh-agent (binary ssh-agent on a remote machine)
$ ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-V**v/agent.3***2
SSH_AGENT_PID=3***5
Running ssh-add (command line suppressed)
Identity added: /var/lib/jenkins/workspace/T***@tmp/private_key_***.key (/var/lib/jenkins/workspace/T***@tmp/private_key_***.key)
[ssh-agent] Started.
[Pipeline] {
[Pipeline] sh
+ sudo su
+ pwd
/var/lib/jenkins/workspace/T***

И если я ввожу команду “cd /путь”, то он его естественно не находит.
Вполне вероятно, что и я что-то не понимаю, и в целом так и должно быть, как это вообще устроено?
Подскажите, пожалуйста, хотя бы что почитать по этой теме.

Давайте начнем с того, что вы хотите сделать?

Если выполнить какие-то скрипты на слэйвах - то, имхо, проще это делать через SSH Slaves.
Если же вы хотите выполнить какой-то скрипт на самом сервере дженкинса, то можно это сделать проще, не используя плагинов:

pipeline {
    agent {
        node {
            label 'master'
            customWorkspace "$JOB_NAME"
        }
    }
    stages {
        stage('some stage') {
            steps {
                //                              
            }
        }
    }

Пример кода

stage('Connect to SSH') {
            steps {
                sshagent(['ID']) {
                    sh '''pwd
                    '''
                }

Выводом является рабочая директория Jenkins, а не удаленного сервера…

Я хочу, чтобы сервер Jenkins подключался через SSH к удаленному серверу, а затем запускал команду на удаленном сервере.

Вместо этого Jenkins подключается к удаленному серверу, затем выполняя команду , например, pwd , делает ее локально, а не на удаленном сервере как мне нужно.

Почему последующие команды команды не запускаются внутри оболочки SSH, а вместо этого выполняются локально?

Используйте плагин SSH

У меня он есть, установлен и настроен.
И я не думаю, что в этом дело.

Ну если не думаете, то делайте сами, как знаете.

какой ранимый:grin:

Чтобы что-то сделать на той машине, надо сначала подключиться туда, т.е.
Первая команда должна выглядеть так:
sudo ssh ${USER}@${IP_PC} 'pwd'