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
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" 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.
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
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?
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