No matching host key when connecting to sftp.webtrends.com - node.js

I am trying to use Firebase Cloud Functions to send a file to webtrends ftp server, but I have encountered a problem I can not get past. Since I use Firebase Cloud Functions my function is running from a nodejs server. I am using this npm package: https://www.npmjs.com/package/ssh2-sftp-client.
After reading online and interpreting the debug log I understand the problem to be that the server uses a deprecated cryptation algorithm (ssh-dss). I read here https://www.openssh.com/legacy.html that ssh-dss is legacy and therefore not supported by ssh2.
Most of the other solutions I have found tell me to configure the ssh config, but I do not have access to the remote in this case and can not configure it.
Here is the code I am using to connect:
const Client = require('ssh2-sftp-client');
const sftp = new Client();
sftp.connect({
host: 'sftp.webtrends.com',
port: '****', // omitted
username: '****', // omitted
password: '****', // omitted
algorithms: {
serverHostKeys: ['ssh-dss'],
},
});
And here is the debug log:
DEBUG: Local ident: 'SSH-2.0-ssh2js0.1.20'
DEBUG: Client: Trying sftp.webtrends.com on port **** ...
DEBUG: Client: Connected
DEBUG: Parser: IN_INIT
DEBUG: Parser: IN_GREETING
DEBUG: Parser: IN_HEADER
DEBUG: Remote ident: 'SSH-2.0-1.82_sshlib GlobalSCAPE'
DEBUG: Parser: IN_PACKET
DEBUG: Parser: IN_PACKETBEFORE (expecting 8)
DEBUG: Parser: IN_PACKETDATA
DEBUG: Parser: IN_PACKETDATAAFTER, packet: KEXINIT
DEBUG: Comparing KEXINITs ...
DEBUG: (remote) KEX algorithms: diffie-hellman-group14-sha1,diffie-hellman-
group-exchange-sha1,diffie-hellman-group1-sha1
DEBUG: (local) KEX algorithms: ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-
sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1
DEBUG: (local) Host key formats: ssh-rsa,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521
DEBUG: Outgoing: Writing KEXINIT
DEBUG: Parser: pktLen:484,padLen:11,remainLen:480
DEBUG: Outgoing: Writing DISCONNECT (KEY_EXCHANGE_FAILED)
DEBUG: KEX algorithm: diffie-hellman-group14-sha1
DEBUG: (remote) Host key formats: ssh-dss
DEBUG: No matching host key format

There is a typo in your config options. Use these settings as described in the docs and it might work:
algorithms: {
serverHostKey: ['ssh-dss'], // serverHostKey, without the 's'
},

So, if you cannot configure the server, and ssh2-sftp-client says they don't support ssh-dss, your only option is to not use ssh2-sftp-client but another package that supports ssh-dss.
Doing a quick Google search for nodejs ftp client "ssh-dss", it should not be that difficult to find one that supports ssh-dss, for example yocto-sftp

Related

NodeJS Artillery with self signed client certificates

I installed the latest versions of nodejs and Artilliery. I want to do load tests using Artillery in this yml:
config:
target: "https://my.ip.address:443"
phases:
- duration: 60
arrivalCount: 100
tls:
rejectUnauthorized: false
client:
key: "./key.pem"
cert: "./certificate.pem"
ca: "./ca.cert"
passphrase: "mypass"
onError:
- log: "Error: invalid tls configuration"
extendedMetrics: true
https:
extendedMetrics: true
logging:
level: "debug"
scenarios:
- flow:
- log: "Current environment is set to: {{ $environment }}"
- get:
url: "/myapp/"
#sslAuth: false
capture:
json: "$.data"
as: "data"
failOnError: true
log: "Error: capturing ${json.error}"
check:
- json: "$.status"
as: "status"
comparison: "eq"
value: 200
not: true
capture:
json: "$.error"
as: "error"
log: "Error: check ${error}"
plugins:
http-ssl-auth: {}
I run Artillery with:
artillery -e production config_tests.yml
I checked the certificates, they are working when used in other applications. They are generated with Openssl
But, all the virtual users fail with error: errors.EPROTO.
Could you please help me find a solution? Thanks in advance!

Failed to connect to all addresses - gRPC with Go and NodeJS

"Failed to connect to all addresses" occurs while adding TLS certs to envoy.yaml, full error:
code: 14,
metadata: Metadata { _internal_repr: {}, flags: 0 },
details: 'failed to connect to all addresses'
Envoy config (Envoy is running on port 50000, and itemService on 50052):
transport_socket:
name: envoy.transport_sockets.tls
typed_config:
"#type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext
common_tls_context:
tls_certificates:
- certificate_chain:
filename: server.cert
private_key:
filename: server.key
Client code Nodejs - (NextJS on server side - getServerSideProps)
options = {
key: readFileSync("certs/client.key"),
cert: readFileSync("certs/ca.crt"),
csr: readFileSync("certs/client.crt"),
};
const creds = credentials.createSsl(
options.cert,
options.key,
options.csr
);
grpcServer.servicesList.itemsService = new ItemsServiceClient(
"localhost:50000",
creds,
{
"grpc.ssl_target_name_override": "localhost",
"grpc.default_authority": "localhost",
}
);
Request works normally when removing TLS certs from envoy.yaml.
Error I get from grpcurl tool: Failed to dial target host "localhost:50000" x509: certificate relies on legacy Common Name field, use SANs instead.
When I set GODEBUG=x509ignoreCN=0, seems like error stays same.

Node Integration Issue on Drupal8

After some efforts the HTTP server started and status report showed that
node.js server was successfully reached. For testing my Drupal site I hit
a random url and waited for it to reflect on my dblog at the same time (as
demonstrated in the video). It failed. The backend showed the error - The
channel "watchdog_dblog" doesn't exist.
Here, the port used was 8888 (as per the video). It was changed to 8080
and then this error did not show up, but the drupal site still did not
auto-refresh.
The nodejs.config.js file currently:
settings = {
scheme: 'http',
port: 8080,
host: 'localhost',
resource: '/socket.io',
serviceKey: 'mytest1',
backend: {
port: 80,
host: 'drupal8',
scheme: 'http',
basePath: '',
messagePath: '/nodejs/message'
},
debug: true,
sslKeyPath: '',
sslCertPath: '',
sslCAPath: '',
baseAuthPath: '/nodejs/',
publishUrl: 'publish',
kickUserUrl: 'user/kick/:uid',
logoutUserUrl: 'user/logout/:authtoken',
addUserToChannelUrl: 'user/channel/add/:channel/:uid',
removeUserFromChannelUrl: 'user/channel/remove/:channel/:uid',
addChannelUrl: 'channel/add/:channel',
removeChannelUrl: 'channel/remove/:channel',
setUserPresenceListUrl: 'user/presence-list/:uid/:uidList',
addAuthTokenToChannelUrl: 'authtoken/channel/add/:channel/:uid',
removeAuthTokenFromChannelUrl: 'authtoken/channel/remove/:channel/:uid',
toggleDebugUrl: 'debug/toggle',
contentTokenUrl: 'content/token',
publishMessageToContentChannelUrl: 'content/token/message',
extensions: [],
clientsCanWriteToChannels: true,
clientsCanWriteToClients: true,
transports: ['websocket', 'flashsocket', 'htmlfile', 'xhr-polling', 'jsonp-polling'],
jsMinification: true,
jsEtag: true,
logLevel: 1
};
I did not see socket.io while looking at the page source and inspect
element network. After that the node.js config module was enabled but the
service key field was non-editable. I then created a file nodejs.config.js
in modules/nodejs and copied the configuration there. Socket.io showed up
with the path localhost:8080//socket.io/socket.io.js. Even if I change the
port to 8888, the socket path/port remains the same.
This is the error now cleanupSocket: Cleaning up after socket id
C0I_r38wIbcT1LbtAAAD, uid undefined

Installing TMUX in Microsoft Windows Server 2016 Standard Edition and issues with MSYS2

I have a Microsoft Windows Server 2016 Standard Edition VM in which I need to schedule a job which should run every 3 or 5 minutes. This job actually will check for the files in Windows server location Source: ex: D:\Feeds and move the files to Linux Server Destination: /data/feeds/
I have installed the Git bash and scheduled a bash script to run as loop which does the job, but it's getting failed in between with the below error
0 [main] sh 54094 dofork: child -1 - CreateProcessW failed for 'C:\Program Files\Git\usr\bin\sh.exe', errno 13
feed.sh: fork: Permission denied
feed.sh: line 6: /usr/bin/ls: Permission denied
I have to again the start the feed.sh script to move the files from Source (Windows server) to Destination (Linux SFTP server).
In order to fix this, I tried installing TMUX to schedule the script in tmux, for which I tried installing MSYS2 packages, I have installed the same but still vi, sftp commands are not working. I have tried updating the packages but getting the below timeout error.
# pacman -S git
resolving dependencies...
looking for conflicting packages...
Packages (31) expat-2.2.9-1 heimdal-7.7.0-1 openssh-8.3p1-1 perl-Authen-SASL-2.16-2 perl-Convert-BinHex-1.125-1 perl-Encode-Locale-1.05-1 perl-Error-0.17029-1
perl-File-Listing-6.04-2 perl-HTML-Parser-3.72-4 perl-HTML-Tagset-3.20-2 perl-HTTP-Cookies-6.08-1 perl-HTTP-Daemon-6.10-1 perl-HTTP-Date-6.05-1
perl-HTTP-Message-6.25-1 perl-HTTP-Negotiate-6.01-2 perl-IO-Socket-SSL-2.068-1 perl-IO-Stringy-2.113-1 perl-LWP-MediaTypes-6.04-1 perl-MIME-tools-5.509-1
perl-MailTools-2.21-1 perl-Net-HTTP-6.19-1 perl-Net-SMTP-SSL-1.04-1 perl-Net-SSLeay-1.88-1 perl-TermReadKey-2.38-1 perl-TimeDate-2.33-1 perl-Try-Tiny-0.30-1
perl-URI-1.76-1 perl-WWW-RobotRules-6.02-2 perl-libwww-6.46-1 vim-8.2.0869-1 git-2.27.0-1
Total Download Size: 16.68 MiB
Total Installed Size: 94.47 MiB
:: Proceed with installation? [Y/n] y
:: Retrieving packages...
error: failed retrieving file 'expat-2.2.9-1-x86_64.pkg.tar.xz' from repo.msys2.org : Connection timed out after 10016 milliseconds
error: failed retrieving file 'expat-2.2.9-1-x86_64.pkg.tar.xz' from sourceforge.net : Connection timed out after 10002 milliseconds
Debug output:
# pacman -Syuv --debug
debug: pacman v5.2.1 - libalpm v12.0.1
debug: config: attempting to read file /etc/pacman.conf
debug: config: new section 'options'
debug: config: HoldPkg: pacman
debug: config: arch: x86_64
debug: config: SigLevel: Required
debug: config: SigLevel: DatabaseOptional
debug: config: LocalFileSigLevel: Optional
debug: config: new section 'mingw32'
debug: config file /etc/pacman.conf, line 72: including /etc/pacman.d/mirrorlist.mingw32
debug: config: new section 'mingw64'
debug: config file /etc/pacman.conf, line 75: including /etc/pacman.d/mirrorlist.mingw64
debug: config: new section 'msys'
debug: config file /etc/pacman.conf, line 78: including /etc/pacman.d/mirrorlist.msys
debug: config: finished parsing /etc/pacman.conf
debug: setup_libalpm called
debug: option 'logfile' = /var/log/pacman.log
debug: option 'gpgdir' = /etc/pacman.d/gnupg/
debug: option 'hookdir' = /etc/pacman.d/hooks/
debug: option 'cachedir' = /var/cache/pacman/pkg/
debug: registering sync database 'mingw32'
debug: database path for tree mingw32 set to /var/lib/pacman/sync/mingw32.db
debug: GPGME version: 1.13.1-unknown
debug: GPGME engine info: file=/usr/bin/gpg, home=/etc/pacman.d/gnupg/
debug: checking signature for /var/lib/pacman/sync/mingw32.db
debug: 1 signatures returned
debug: fingerprint: AD351C50AE085775EB59333B5F92EFC1A47D45A1
debug: summary: valid
debug: summary: green
debug: status: Success
debug: timestamp: 1593429151
debug: exp_timestamp: 0
debug: validity: full; reason: Success
debug: key: AD351C50AE085775EB59333B5F92EFC1A47D45A1, Alexey Pavlov (Alexpux) <alexpux#gmail.com>, owner_trust unknown, disabled 0
debug: signature is valid
debug: signature is fully trusted
debug: setting usage of 15 for mingw32 repository
debug: adding new server URL to database 'mingw32': http://repo.msys2.org/mingw/i686
debug: adding new server URL to database 'mingw32': https://sourceforge.net/projects/msys2/files/REPOS/MINGW/i686
debug: registering sync database 'mingw64'
debug: database path for tree mingw64 set to /var/lib/pacman/sync/mingw64.db
debug: checking signature for /var/lib/pacman/sync/mingw64.db
debug: 1 signatures returned
debug: fingerprint: AD351C50AE085775EB59333B5F92EFC1A47D45A1
debug: summary: valid
debug: summary: green
debug: status: Success
debug: timestamp: 1593425462
debug: exp_timestamp: 0
debug: validity: full; reason: Success
debug: key: AD351C50AE085775EB59333B5F92EFC1A47D45A1, Alexey Pavlov (Alexpux) <alexpux#gmail.com>, owner_trust unknown, disabled 0
debug: signature is valid
debug: signature is fully trusted
debug: setting usage of 15 for mingw64 repository
debug: adding new server URL to database 'mingw64': http://repo.msys2.org/mingw/x86_64
debug: adding new server URL to database 'mingw64': https://sourceforge.net/projects/msys2/files/REPOS/MINGW/x86_64
Root : /
Conf File : /etc/pacman.conf
DB Path : /var/lib/pacman/
Cache Dirs: /var/cache/pacman/pkg/
Hook Dirs : /usr/share/libalpm/hooks/ /etc/pacman.d/hooks/
Lock File : /var/lib/pacman/db.lck
Log File : /var/log/pacman.log
GPG Dir : /etc/pacman.d/gnupg/
Targets : None
:: Synchronizing package databases...
debug: url: http://repo.msys2.org/mingw/i686/mingw32.db
debug: maxsize: 26214400
debug: using time condition: 1593429151
debug: opened tempfile for download: /var/lib/pacman/sync/mingw32.db.part (wb)
debug: curl returned error 28 from transfer
error: failed retrieving file 'mingw32.db' from repo.msys2.org : Connection timed out after 10018 milliseconds
debug: url: https://sourceforge.net/projects/msys2/files/REPOS/MINGW/i686/mingw32.db
debug: maxsize: 26214400
debug: using time condition: 1593429151
debug: opened tempfile for download: /var/lib/pacman/sync/mingw32.db.part (wb)
debug: curl returned error 28 from transfer
error: failed retrieving file 'mingw32.db' from sourceforge.net : Connection timed out after 10000 milliseconds
Is there any other way to schedule the bash script in powershell?

Sonarqube unable to load component

Im getting a error while running sonar-scanner on a (self-hosted) vsts agent. The agent (visual studio team services) is running on a kubernetes cluster (linux).
In VSTS i added the Sonarqube prepare and run analyses (retrieved via the VSTS marketplace). At the run analyses i get the following error:
2018-04-17T13:41:17.7246126Z 13:41:17.718 ERROR: Error during SonarQube Scanner execution
2018-04-17T13:41:17.7257629Z 13:41:17.718 ERROR: Unable to load component class org.sonar.scanner.report.ActiveRulesPublisher
2018-04-17T13:41:17.7289820Z 13:41:17.719 ERROR: Caused by: Unable to load component interface org.sonar.api.batch.rule.ActiveRules
Full verbose logging of the sonar-scanner:
2018-04-17T13:40:55.4491103Z Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
2018-04-17T13:40:55.9843800Z INFO: Scanner configuration file: /vsts/agent/_work/_tasks/SonarQubeAnalyze_6d01813a-9589-4b15-8491-8164aeb38055/4.1.1/sonar-scanner/conf/sonar-scanner.properties
2018-04-17T13:40:55.9872383Z INFO: Project root configuration file: NONE
2018-04-17T13:40:56.0773880Z 13:40:56.071 INFO: SonarQube Scanner 3.1.0.1141
2018-04-17T13:40:56.0788506Z 13:40:56.076 INFO: Java 1.8.0_162 Oracle Corporation (64-bit)
2018-04-17T13:40:56.0805405Z 13:40:56.076 INFO: Linux 4.9.0-5-amd64 amd64
2018-04-17T13:40:56.4592573Z 13:40:56.458 DEBUG: keyStore is :
2018-04-17T13:40:56.4608365Z 13:40:56.459 DEBUG: keyStore type is : jks
2018-04-17T13:40:56.4620170Z 13:40:56.460 DEBUG: keyStore provider is :
2018-04-17T13:40:56.4631954Z 13:40:56.460 DEBUG: init keystore
2018-04-17T13:40:56.4643759Z 13:40:56.461 DEBUG: init keymanager of type SunX509
2018-04-17T13:40:56.5660597Z 13:40:56.564 DEBUG: Create: /root/.sonar/cache
2018-04-17T13:40:56.5696355Z 13:40:56.568 INFO: User cache: /root/.sonar/cache
2018-04-17T13:40:56.5709625Z 13:40:56.569 DEBUG: Create: /root/.sonar/cache/_tmp
2018-04-17T13:40:56.5752714Z 13:40:56.574 DEBUG: Extract sonar-scanner-api-batch in temp...
2018-04-17T13:40:56.5940510Z 13:40:56.592 DEBUG: Get bootstrap index...
2018-04-17T13:40:56.5952154Z 13:40:56.593 DEBUG: Download: https://<url>/batch/index
2018-04-17T13:40:56.7993378Z 13:40:56.798 DEBUG: Get bootstrap completed
2018-04-17T13:40:56.8215666Z 13:40:56.818 DEBUG: Download https://<url>/batch/file?name=sonar-scanner-engine-shaded-6.5.jar to /root/.sonar/cache/_tmp/fileCache5321971657904640201.tmp
2018-04-17T13:41:02.6399191Z 13:41:02.638 DEBUG: Create isolated classloader...
2018-04-17T13:41:02.6506592Z 13:41:02.649 DEBUG: Start temp cleaning...
2018-04-17T13:41:02.6644082Z 13:41:02.663 DEBUG: Temp cleaning done
2018-04-17T13:41:02.6656506Z 13:41:02.663 DEBUG: Execution getVersion
2018-04-17T13:41:02.6669835Z 13:41:02.665 INFO: SonarQube server 6.5.0
2018-04-17T13:41:02.6684967Z 13:41:02.665 INFO: Default locale: "en_US", source code encoding: "UTF-8" (analysis is platform dependent)
2018-04-17T13:41:02.6701596Z 13:41:02.666 DEBUG: Work directory: /vsts/agent/_work/1/s/.scannerwork
2018-04-17T13:41:02.6713389Z 13:41:02.667 DEBUG: Execution execute
2018-04-17T13:41:02.9257781Z 13:41:02.924 DEBUG: Publish global mode
2018-04-17T13:41:03.0332419Z 13:41:03.032 INFO: Load global settings
2018-04-17T13:41:03.1301467Z 13:41:03.128 DEBUG: GET 200 https://<url>/api/settings/values.protobuf | time=89ms
2018-04-17T13:41:03.1423184Z 13:41:03.140 INFO: Load global settings (done) | time=109ms
2018-04-17T13:41:03.1546880Z 13:41:03.153 INFO: User cache: /root/.sonar/cache
2018-04-17T13:41:03.3769269Z 13:41:03.375 INFO: Load plugins index
2018-04-17T13:41:03.3867504Z 13:41:03.385 DEBUG: GET 200 https://<url>/deploy/plugins/index.txt | time=9ms
2018-04-17T13:41:03.3882935Z 13:41:03.387 INFO: Load plugins index (done) | time=12ms
2018-04-17T13:41:03.3894980Z 13:41:03.388 DEBUG: Load plugins
2018-04-17T13:41:03.3919841Z 13:41:03.390 DEBUG: Download plugin sonar-csharp-plugin-5.10.1.1411.jar to /root/.sonar/cache/_tmp/fileCache5198949102678735871.tmp
2018-04-17T13:41:03.4017607Z 13:41:03.399 DEBUG: GET 200 https://<url>/deploy/plugins/csharp/sonar-csharp-plugin-5.10.1.1411.jar | time=9ms
2018-04-17T13:41:06.7030760Z 13:41:06.699 DEBUG: Download plugin sonar-python-plugin-1.8.0.1496.jar to /root/.sonar/cache/_tmp/fileCache5837697557641973805.tmp
2018-04-17T13:41:06.7140570Z 13:41:06.712 DEBUG: GET 200 https://<url>/deploy/plugins/python/sonar-python-plugin-1.8.0.1496.jar | time=11ms
2018-04-17T13:41:07.7937342Z 13:41:07.792 DEBUG: Download plugin sonar-java-plugin-4.12.0.11033.jar to /root/.sonar/cache/_tmp/fileCache3113521041013245867.tmp
2018-04-17T13:41:07.8036767Z 13:41:07.802 DEBUG: GET 200 https://<url>/deploy/plugins/java/sonar-java-plugin-4.12.0.11033.jar | time=10ms
2018-04-17T13:41:09.1704132Z 13:41:09.169 DEBUG: Download plugin sonar-scm-git-plugin-1.2.jar to /root/.sonar/cache/_tmp/fileCache3652847485025121764.tmp
2018-04-17T13:41:09.1814559Z 13:41:09.179 DEBUG: GET 200 https://<url>/deploy/plugins/scmgit/sonar-scm-git-plugin-1.2.jar | time=10ms
2018-04-17T13:41:10.1258417Z 13:41:10.124 DEBUG: Download plugin sonar-flex-plugin-2.3.jar to /root/.sonar/cache/_tmp/fileCache1763014158619511232.tmp
2018-04-17T13:41:10.1434478Z 13:41:10.141 DEBUG: GET 200 https://<url>/deploy/plugins/flex/sonar-flex-plugin-2.3.jar | time=17ms
2018-04-17T13:41:10.5811390Z 13:41:10.579 DEBUG: Download plugin sonar-xml-plugin-1.4.3.1027.jar to /root/.sonar/cache/_tmp/fileCache4278096937563691973.tmp
2018-04-17T13:41:10.5931521Z 13:41:10.591 DEBUG: GET 200 https://<url>/deploy/plugins/xml/sonar-xml-plugin-1.4.3.1027.jar | time=12ms
2018-04-17T13:41:13.0089908Z 13:41:13.006 DEBUG: Download plugin sonar-php-plugin-2.10.0.2087.jar to /root/.sonar/cache/_tmp/fileCache8869518949034818200.tmp
2018-04-17T13:41:13.0190680Z 13:41:13.017 DEBUG: GET 200 https://<url>/deploy/plugins/php/sonar-php-plugin-2.10.0.2087.jar | time=11ms
2018-04-17T13:41:13.9587794Z 13:41:13.956 DEBUG: Download plugin sonar-scm-svn-plugin-1.5.0.715.jar to /root/.sonar/cache/_tmp/fileCache8353866177366095107.tmp
2018-04-17T13:41:13.9686573Z 13:41:13.966 DEBUG: GET 200 https://<url>/deploy/plugins/scmsvn/sonar-scm-svn-plugin-1.5.0.715.jar | time=10ms
2018-04-17T13:41:15.7441037Z 13:41:15.740 DEBUG: Download plugin sonar-javascript-plugin-3.1.1.5128.jar to /root/.sonar/cache/_tmp/fileCache1134031791761299423.tmp
2018-04-17T13:41:15.7552087Z 13:41:15.753 DEBUG: GET 200 https://<url>/deploy/plugins/javascript/sonar-javascript-plugin-3.1.1.5128.jar | time=10ms
2018-04-17T13:41:16.6007888Z 13:41:16.598 DEBUG: Load plugins (done) | time=13210ms
2018-04-17T13:41:16.6656267Z 13:41:16.664 DEBUG: API compatibility mode is enabled on plugin Git [scmgit] (built with API lower than 5.2)
2018-04-17T13:41:16.8080245Z 13:41:16.806 DEBUG: API compatibility mode is enabled on plugin SVN [scmsvn] (built with API lower than 5.2)
2018-04-17T13:41:16.8782356Z 13:41:16.877 DEBUG: Plugins:
2018-04-17T13:41:16.8803313Z 13:41:16.877 DEBUG: * C# 5.10.1.1411 (csharp)
2018-04-17T13:41:16.8814834Z 13:41:16.877 DEBUG: * SonarPython 1.8.0.1496 (python)
2018-04-17T13:41:16.8826606Z 13:41:16.878 DEBUG: * SonarJava 4.12.0.11033 (java)
2018-04-17T13:41:16.8838164Z 13:41:16.878 DEBUG: * Git 1.2 (scmgit)
2018-04-17T13:41:16.8849469Z 13:41:16.878 DEBUG: * Flex 2.3 (flex)
2018-04-17T13:41:16.8861132Z 13:41:16.878 DEBUG: * SonarXML 1.4.3.1027 (xml)
2018-04-17T13:41:16.8872441Z 13:41:16.878 DEBUG: * SonarPHP 2.10.0.2087 (php)
2018-04-17T13:41:16.8884157Z 13:41:16.878 DEBUG: * SVN 1.5.0.715 (scmsvn)
2018-04-17T13:41:16.8895519Z 13:41:16.879 DEBUG: * SonarJS 3.1.1.5128 (javascript)
2018-04-17T13:41:17.2954878Z 13:41:17.294 INFO: Process project properties
2018-04-17T13:41:17.3024512Z 13:41:17.301 DEBUG: Process project properties (done) | time=7ms
2018-04-17T13:41:17.3187780Z 13:41:17.317 INFO: Load project repositories
2018-04-17T13:41:17.3400387Z 13:41:17.339 DEBUG: GET 200 https://<url>/batch/project.protobuf?key=<key> | time=20ms
2018-04-17T13:41:17.3772015Z 13:41:17.376 INFO: Load project repositories (done) | time=59ms
2018-04-17T13:41:17.4391020Z 13:41:17.438 DEBUG: Available languages:
2018-04-17T13:41:17.4407025Z 13:41:17.438 DEBUG: * C# => "cs"
2018-04-17T13:41:17.4419498Z 13:41:17.439 DEBUG: * Python => "py"
2018-04-17T13:41:17.4431469Z 13:41:17.440 DEBUG: * Java => "java"
2018-04-17T13:41:17.4447051Z 13:41:17.440 DEBUG: * Flex => "flex"
2018-04-17T13:41:17.4459538Z 13:41:17.440 DEBUG: * XML => "xml"
2018-04-17T13:41:17.4471153Z 13:41:17.440 DEBUG: * PHP => "php"
2018-04-17T13:41:17.4483109Z 13:41:17.440 DEBUG: * JavaScript => "js"
2018-04-17T13:41:17.4494550Z 13:41:17.445 INFO: Load quality profiles
2018-04-17T13:41:17.4667036Z 13:41:17.465 DEBUG: GET 200 https://<url>/api/qualityprofiles/search.protobuf?projectKey=<key> | time=20ms
2018-04-17T13:41:17.4718216Z 13:41:17.471 INFO: Load quality profiles (done) | time=26ms
2018-04-17T13:41:17.4787808Z 13:41:17.478 INFO: Load active rules
2018-04-17T13:41:17.5539598Z 13:41:17.552 DEBUG: GET 200 https://<url>/api/rules/search.protobuf?f=repo,name,severity,lang,internalKey,templateKey,params,actives,createdAt&activation=true&qprofile=AWLTddaUW_zM7o53qFW6&p=1&ps=500 | time=73ms
2018-04-17T13:41:17.6794770Z 13:41:17.678 INFO: ------------------------------------------------------------------------
2018-04-17T13:41:17.6808969Z 13:41:17.678 INFO: EXECUTION FAILURE
2018-04-17T13:41:17.6823237Z 13:41:17.678 INFO: ------------------------------------------------------------------------
2018-04-17T13:41:17.6838138Z 13:41:17.678 INFO: Total time: 21.735s
2018-04-17T13:41:17.7207625Z 13:41:17.718 INFO: Final Memory: 8M/109M
2018-04-17T13:41:17.7229316Z 13:41:17.718 INFO: ------------------------------------------------------------------------
2018-04-17T13:41:17.7246126Z 13:41:17.718 ERROR: Error during SonarQube Scanner execution
2018-04-17T13:41:17.7257629Z 13:41:17.718 ERROR: Unable to load component class org.sonar.scanner.report.ActiveRulesPublisher
2018-04-17T13:41:17.7289820Z 13:41:17.719 ERROR: Caused by: Unable to load component interface org.sonar.api.batch.rule.ActiveRules
2018-04-17T13:41:17.7301826Z 13:41:17.728 ERROR:
2018-04-17T13:41:17.7318487Z 13:41:17.728 ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging.
2018-04-17T13:41:17.7530568Z ##[error]/vsts/agent/_work/_tasks/SonarQubeAnalyze_6d01813a-9589-4b15-8491-8164aeb38055/4.1.1/sonar-scanner/bin/sonar-scanner failed with return code: 1
The class org.sonar.api.batch.rule.ActiveRules is defined in sonar-plugin-api, so I think the bug is caused by a plugin.
I see you use C# 5.10.1.1411. I found this issue: ActiveRulesPublisher issue for C# 5.10.1. The reporter uses exactly the same version as you (5.10.1.1411). Steps which should solve your problem:
stop the SonarQube server
purge the {SONAR_QUBE}/data/es folder
restart the SonarQube server
relaunch the project analysis

Resources