Hi Steve,

Ahh... it's been a while since I wrote the SSH component of tsNet and I've been unfortunately relying on the documentation I wrote when checking your code!

tSettings["ssh_private_key"] must provide the "path" to the private key, not the contents of the private key (another documentation issue for me to fix!).

So your code should actually look like

on mouseUp
  local tHeaders, tResult, tSettings
  put “xxxxxxxx" into tSettings["username"]
  put "D:\private.ppk" into tSettings["ssh_private_key"]
  tsNetInit
put tsNetGet("1", "sftp://secure.xxxxxxxx.us/";, tHeaders, "transferComplete", tSettings) into tResult
end mouseUp

Hopefully that will get it working for you!

Cheers,

Charles

On 17/03/2017 11:36 PM, Stephen MacLean via use-livecode wrote:
Hi Charles,

Again, thank you for all your help!!

I made the change below, and indeed didn’t get the error any more. However, I 
still wasn’t getting anything returned.

I ran your debug stack along side it and got this:

Hostname in DNS cache was stale, zapped
   Trying xx.xx.xx.xx...
TCP_NODELAY set
Connected to secure.xxxxxxxxxx.us (xx.xx.xx.xx) port 22 (#3)
SSH MD5 fingerprint: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SSH authentication methods available: publickey
Using SSH private key file '-----BEGIN RSA PRIVATE KEY——
<private key listed>
-----END RSA PRIVATE KEY-----
'
SSH public key authentication failed: Unable to extract public key from private 
key file: Unable to open private key file

Not sure about were to go from here… I redid the export of the .ppk in PuttyGen 
and still get the same thing. There is no password protecting the key.

Any further help would be greatly appreciated.

Best Regards,

Steve MacLean

On Mar 17, 2017, at 5:04 AM, Charles Warwick via use-livecode 
<use-livecode@lists.runrev.com> wrote:

Hi Steve,

My apologies... there is a mistake in the documentation for tsNet which I only 
just noticed.

The array element for the SSH private key should be tSettings["ssh_private_key"], not 
tSettings["ssh_priv_key"].

So if you change the following line:

    put tPrivKey into tSettings["ssh_priv_key"]

to:

    put tPrivKey into tSettings["ssh_private_key"]

you should be right to go!

(I will get this fixed in the documentation for the next version)

Best Regards,

Charles


On 17/03/2017 6:31 PM, Charles Warwick via use-livecode wrote:
Hi Steve,

The tsNet command only requires the SSH private key, so that is ok.

I will test again here to make sure there is nothing else going on in LC 9.0 
DP6....

Just to check though, I assume your private key does not require a passphrase?

Another thing to try is to download the following simple stack:

https://downloads.techstrategies.com.au/tsnet/debug_liburl.livecode

Run that stack at the same time as your own, and click "Start Debug" before you 
try make the SSH connection.

It should provide some additional debug information that may shed more light on 
what is actually happening.

Regards,

Charles


On 16/03/2017 10:24 PM, Stephen MacLean via use-livecode wrote:
Hi Charles,

One other thing… in looking at the .ppk file, it contains both “public lines”  and 
"private lines”. All I see in the ssh key file is private.

Not sure that make any difference, but thought I’d mention it.

Best,

Steve

On Mar 16, 2017, at 7:53 AM, Stephen MacLean via use-livecode 
<use-livecode@lists.runrev.com> wrote:

Hi Charles,

Thank you so much for reply!

I converted the key file as you described, however, I’m still getting the error 
67 (authentication error) when running the script.

Any further help would be greatly appreciated.

Best,

Steve MacLean

On Mar 16, 2017, at 3:08 AM, Charles Warwick via use-livecode 
<use-livecode@lists.runrev.com> wrote:

Hi Steve,

It looks like you are using a SSH private key in PuTTY format (.ppk).  tsNet 
requires it to be in OpenSSH format.

That is easy to fix though, you can convert the .ppk with PuttyGen.

To do this, open PuttyGen and load the .ppk file.  Then select "Conversions" -> 
"Export OpenSSH key".

Apart from that, just make sure that your call to tsNetGet includes the full 
path of the file you want to download.

Hope that helps,

Cheers,

Charles


On 16/03/2017 6:01 AM, Stephen MacLean via use-livecode wrote:
Well, still no luck in getting it to work, but getting closer…

I found a sample file linked to on livecode.com <http://livecode.com/>. 
Modifying it to use the key file, I have:

on mouseUp
   local tHeaders, tResult, tSettings
   put “xxxxxxxx" into tSettings["username"]
   put URL "binfile:D:\private.ppk" into tPrivKey
   put tPrivKey into tSettings["ssh_priv_key"]
   tsNetInit
   put tsNetGet("1", "sftp://secure.xxxxxxxx.us/";, tHeaders, 
"transferComplete", tSettings) into tResult
end mouseUp

However, it returns:

tsneterr: (67) Authentication failure

Again, I can access the sftp site with no problems using the WinSCP ftp client 
and the key file.

Any suggestions??

Thanks,

Steve MacLean

On Mar 15, 2017, at 9:38 AM, Stephen MacLean via use-livecode 
<use-livecode@lists.runrev.com> wrote:

Hi All,

Looking to use tsNet to connect to a SFTP server that uses username and a 
private key instead of a password. The private key is contained in a file.

I use WinSCP and can link the connection to the file and can connect fine.

In LC, I’ve set the CABundle to the file, but am not sure this is how it’s 
supposed to work. Getting an auth error when doing tsNetGet.

Any help would be appreciated.

Thanks,

Steve MacLean

PS: Running 9.0 dp6 Business

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to