Я получаю следующую ошибку каждый раз, когда пытаюсь подключиться к SQL Server, как показано на изображении:
Я выполнил инструкции по ссылке https://stackoverflow.com/questions/18060667/why -am-i-getting-cannot-connect-to-server-a-network-related-or-instance-speci
Ошибка возникает только тогда, когда я пытаюсь войти в систему с удаленного компьютера. Однако я могу войти в систему с локального компьютера. cd / var / www / dev
Я могу успешно пройти аутентификацию и увидеть командную строку в журналах CircleCI. Однако команды после SSH не выполняются. Что я здесь делаю не так?
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Sep 12 15:53:55 2018 from 18.212.180.159
[USER_NAME]:~$
Я ожидаю, что после успешной аутентификации будет запущена команда cd.
При использовании SSH кажется, что вы не можете сменить каталог, просто передав команду, и это ограничение SSH согласно этому сообщению Serverfault . Как правило, вы можете запустить исполняемый файл, используя SSH, используя флаг -c
, и аналогично используя - команду
с gcloud, например в этом примере .
gcloud compute ssh --zone=us-east1-c test --command="nohup ping -i 5 google.com > foo.out 2> foo.err < /dev/null &"
Однако ,из вышеупомянутого сообщения serverfault кажется, что изменение каталога может быть достигнуто с помощью флага -t
в дополнение к выполнению нескольких команд в одном операторе. К счастью, gcloud также может использовать такие флаги, добавив - ssh-flag
. Вот пример, который изменяет каталог и выводит системный путь.
gcloud compute ssh --zone=us-central1-c instance-2 --ssh-flag="-t" --command="cd /bin; pwd"
/bin
Connection to xx.xx.xx.xx closed.
Обратите внимание, что SSH завершился (соединение закрыто) после выполнения последней команды pwd
. Чтобы оставаться в системе и, как предлагается в сообщении, используйте bash --login
Я не уверен в circleCI, как запускаются команды, но в целом, чтобы запустить команду в Linux, вы можете указать полный путь напрямую, а чем изменение каталога. Например, / some / directory / executablefile
запустит исполняемый файл
.