SFTP with .PPK file
Stephen MacLean
smaclean at madmansoft.com
Mon Mar 20 07:27:26 EDT 2017
Hi Charles,
Thank you so much, that did the trick!!!
Best Regards,
Steve MacLean
> On Mar 18, 2017, at 4:05 AM, Charles Warwick via use-livecode <use-livecode at lists.runrev.com> wrote:
>
> 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
More information about the use-livecode
mailing list