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