Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
155 Views

Windows VTune "Configure Analysis" "Remote Linux (SSH)" "SSH destination" ignores port number

Jump to solution

VTune Profiler 2020 Update 2 (Build 610396) on Windows:

I'm using an ssh tunnel that PuTTY sets up to connect through a jump server to my target Linux server.

In "SSH destination" I supply root@localhost:31002, i.e., a username, hostname, and also a port number.

A terminal comes up with a failure.

From the directory C:\Program Files (x86)\IntelSWTools\VTune Profiler 2020\bin64 it attempts this command:

type C:\Users\MyWindowsUsername\.ssh\id_rsa_vtune_root@localhost.pub | ssh -o ServerAliveInterval=5 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o ConnectionAttempts=1 root@localhost "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

It gets this response, which shows that it is using the default ssh port of 22 and not the one I supplied:

ssh: connect to host localhost port 22: Connection refused

Not surprisingly, the command works if I manually execute it but add the option "-p 31002" to it.

I assert that VTune should have added that "-p" option itself.

Labels (1)
0 Kudos

Accepted Solutions
Highlighted
Employee
124 Views

Hi, Chuck.

Looks like issue is in the automatic public key propagation to the target for passwordless access.

As workaround, you could add public key manually or add '-p 31002' to ssh command in VTUNE_INSTALL_DIR\bin64\install_ssh_key.bat script.

Collection flow must be ok with ports.

Sorry for inconvenience, Kirill.

 

View solution in original post

4 Replies
Highlighted
Moderator
135 Views

Hi,

 

Thanks for posting in Intel forums.

 

Try changing your port number from the config file,which is located in "C:\Users\.ssh" path.Also make sure you have followed the below instructions.

 

1.If you don’t have RSA private/public keys for Password-less SSH Access, generate them.

 

Follow the instruction below to do that by internal VTune generator:

 

Create generator.py python script:

 

import sys

import pythonhelpers1.genhelpers as genhelpers

if len(sys.argv) < 2:

  print("Usage: amplxe-python generator.py USER@HOSTNAME")

  sys.exit(1)

private_key = "id_rsa_vtune_" + str(sys.argv[1])

genhelpers.ssh_keygen(private_key, private_key + '.pub')

where

USER – the username 

HOSTNAME – the target machine name 

 

2. Open cmd and run the following command:

VTUNE_INSTALL_DIR\bin64\amplxe-python generator.py USER@HOSTNAME

Public and private keys will be created in current directory.

 

3. Copy id_rsa_vtune_USER@HOSTNAME and id_rsa_vtune_USER@HOSTNAME.pub keys to %USERPROFILE%\.ssh directory on the host system

 

4. Add content of public key to ~/.ssh/authorized_keys on the target system, ~ - USER home dir

 

5. Install ncat 3d party utility on the host for remote connection through proxy:

https://nmap.org/ncat

 

6. Create %USERPROFILE%\.ssh\config with the following lines

Host HOSTNAME

  ProxyCommand “PATH\TO\NCAT\ncat.exe” --proxy-type <TYPE> --proxy <PROXYADDR[:PORT]> %h %p

where

TYPE – type of proxy server

PROXYADDR – the address of proxy server

PORT - port

 

7. Fix permissions for config and private key

icacls %USERPROFILE%\.ssh\id_rsa_vtune_USER@HOSTNAME /inheritance:r 

icacls %USERPROFILE%\.ssh\id_rsa_vtune_USER@HOSTNAME /grant:r "%USERNAME%":"(R)"

icacls %USERPROFILE%\.ssh\config /inheritance:r 

icacls %USERPROFILE%\.ssh\config /grant:r "%USERNAME%":"(R)"

 

8. Check connection by calling uname command

VTUNE_INSTALL_DIR\bin64\ssh.exe -i "%USERPROFILE%\.ssh\id_rsa_vtune_USER@HOSTNAME" USER@HOSTNAME uname

 

9. Use VTune remote flow now.

 

Try this and let us know the updates.

 

0 Kudos
Highlighted
Employee
125 Views

Hi, Chuck.

Looks like issue is in the automatic public key propagation to the target for passwordless access.

As workaround, you could add public key manually or add '-p 31002' to ssh command in VTUNE_INSTALL_DIR\bin64\install_ssh_key.bat script.

Collection flow must be ok with ports.

Sorry for inconvenience, Kirill.

 

View solution in original post

Highlighted
117 Views

@JananiC_Intel, I have no config file in "C:\Users\<MyUsername>/.ssh" -- only these files:

id_rsa_vtune_root@localhost
id_rsa_vtune_root@localhost.pub

That said, I think the problem is different from what you're trying to fix.  Once I put the keys on the Linux system I am able to run VTune without any trouble.  The problem is only in the initial configuration step -- copying the keys from the Windows computer to the Linux computer so that Windows can do password-less ssh to the Linux computer.

It appears to me that @Kirill_U_Intel has correctly deduced the cause of the problem.

Looking in the file VTUNE_INSTALL_DIR\bin64\install_ssh_key.bat I see this deficient line:

type %PUB_KEY_PATH% | ssh -o ServerAliveInterval=5 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o ConnectionAttempts=1 %MACHINE% "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

There is no mention of a port number in that line; in fact, there is no mention of a port number in the entire .bat file.  Its input parameters are these:

MACHINE=%1
PVT_KEY_PATH=%2
PUB_KEY_PATH=%3
CONFIG_PATH=%4\config

I suspect that this script (and its caller, of course), need to be augmented to include passing the port number, if specified.

@Kirill_U_Intel, I'm sure that if I manually add "-p MyPortNumber" to that script then it will work properly.  Because I already used the work-around I described in my base note, which does the same thing, I'm now past that problem.

The reason for me to enter my note wasn't to find a work-around (I already did that), but to report a bug that the VTune team should fix so that others in the future do not encounter the same problem.

0 Kudos
Highlighted
Moderator
75 Views

Hi,


Thanks for reporting.

As it is a feature request,we have escalated the case to SME.



0 Kudos