Renci.SshNet.Sftp iOS iPad - Connection Error
Personne n'a encore pris cette issue.
- Langage dominant
- C#
- Étoiles
- 4.4k
- Forks
- 993
- Merge moyen
- 9 j 21 h
- PR mergées (30 j)
- 1
Description
I've a problem while connecting with a sftp - Server with my iPad iOS 14.4.1.
I'm using the Renci.SshNet.Sftp Framework. On Mac Osx or Windows everything works perfectly. But on iPad its stops working at "sshClient.Connect();" I put the private key file into the StreamingAssets Folder.
I'm using port 22. The server does not get any connection try.
`public void DownloadDirectory(){
Renci.SshNet.ConnectionInfo conn =
new ConnectionInfo(hostName, port, username, new AuthenticationMethod[]
{
new PrivateKeyAuthenticationMethod(username, new PrivateKeyFile[]
{ new PrivateKeyFile(Application.streamingAssetsPath + "/privatekeyFile", "") }),
});
try
{
using (var sshClient = new SftpClient(conn))
{
sshClient.Connect();
var files = sshClient.ListDirectory(directory);
foreach (var file in files)
{
if (!file.Name.StartsWith(".") && file.Name.StartsWith(localFileName))
{
string remoteFileName = file.Name;
using (Stream file1 = File.OpenWrite(Application.streamingAssetsPath + localFileName))
{
Debug.Log(directory + remoteFileName);
sshClient.DownloadFile(directory + remoteFileName, file1);
}
}
}
}
}
catch (Renci.SshNet.Common.SshConnectionException)
{
Debug.LogError("Cannot connect to the server.");
}
catch (System.Net.Sockets.SocketException)
{
Debug.LogError("Unable to establish the socket.");
}
catch (Renci.SshNet.Common.SshAuthenticationException)
{
Debug.LogError("Authentication of SSH session failed.");
}
}`
Error Message from Xcode.
` (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
NullReferenceException: Object reference not set to an instance of an object.
at System.Linq.Expressions.Interpreter.LightLambda.MakeRunDelegateCtor (System.Type delegateType) [0x00000] in <00000000000000000000000000000000>:0
at System.Linq.Expressions.Interpreter.LightLambda.GetRunDelegateCtor (System.Type delegateType) [0x00000] in <00000000000000000000000000000000>:0
at System.Linq.Expressions.Interpreter.LightLambda.MakeDelegate (System.Type delegateType) [0x00000] in <00000000000000000000000000000000>:0
at System.Linq.Expressions.Interpreter.LightDelegateCreator.CreateDelegate (System.Runtime.CompilerServices.IStrongBox[] closure) [0x00000] in <00000000000000000000000000000000>:0
at System.Linq.Expressions.Interpreter.LightDelegateCreator.CreateDelegate () [0x00000] in <00000000000000000000000000000000>:0
at System.Linq.Expressions.Expression`1[TDelegate].Compile (System.Boolean preferInterpretation) [0x00000] in <00000000000000000000000000000000>:0
at System.Linq.Expressions.Expression`1[TDelegate].Compile () [0x00000] in <00000000000000000000000000000000>:0
at System.Runtime.CompilerServices.CallSite`1[T].CreateCustomNoMatchDelegate (System.Reflection.MethodInfo invoke) [0x00000] in <00000000000000000000000000000000>:0
at System.Runtime.CompilerServices.CallSite`1[T].MakeUpdateDelegate () [0x00000] in <00000000000000000000000000000000>:0
at System.Runtime.CompilerServices.CallSite`1[T].GetUpdateDelegate (T& addr) [0x00000] in <00000000000000000000000000000000>:0
at System.Runtime.CompilerServices.CallSite`1[T].GetUpdateDelegate () [0x00000] in <00000000000000000000000000000000>:0
at System.Runtime.CompilerServices.CallSite`1[T]..ctor (System.Runtime.CompilerServices.CallSiteBinder binder) [0x00000] in <00000000000000000000000000000000>:0
at System.Runtime.CompilerServices.CallSite`1[T].Create (System.Runtime.CompilerServices.CallSiteBinder binder) [0x00000] in <00000000000000000000000000000000>:0
at Renci.SshNet.Session.HandleMessageCore (Renci.SshNet.Messages.Message message) [0x00000] in <00000000000000000000000000000000>:0
at Renci.SshNet.Session.MessageListener () [0x00000] in <00000000000000000000000000000000>:0
at System.Action.Invoke () [0x00000] in <00000000000000000000000000000000>:0
at Renci.SshNet.Abstractions.ThreadAbstraction+<>c__DisplayClass1_0.<ExecuteThread>b__0 (System.Object o) [0x00000] in <00000000000000000000000000000000>:0
at System.Threading.WaitCallback.Invoke (System.Object state) [0x00000] in <00000000000000000000000000000000>:0
at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context (System.Object state) [0x00000] in <00000000000000000000000000000000>:0
at System.Threading.ContextCallback.Invoke (System.Object state) [0x00000] in <00000000000000000000000000000000>:0
at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in <00000000000000000000000000000000>:0
at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in <00000000000000000000000000000000>:0
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem () [0x00000] in <00000000000000000000000000000000>:0
at System.Threading.ThreadPoolWorkQueue.Dispatch () [0x00000] in <00000000000000000000000000000000>:0
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback () [0x00000] in <00000000000000000000000000000000>:0
(Filename: currently not available on il2cpp Line: -1)`
Is Renci.sshnet supporting iOS devices ?
Hope you can help me.
Regards
MotionBrain
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par reproduire l’échec de connexion iOS 14.4.1 Unity/IL2CPP à l’aide de l’exemple et examinez Renci.SshNet.Session.HandleMessageCore, à l’endroit où la trace de la pile entre dans la bibliothèque. Comparez le comportement d’iOS avec celui de macOS ou de Windows et déterminez si SSH.NET peut se connecter à l’appareil cible et y transférer un fichier sans l’exception signalée.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- csharp, ios, unity
- Domaine
- mobile-dev, networking
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100