2017-10-05 3 views
-3

Ich möchte eine Verbindung zu SSH mithilfe der Swift-Sprache herstellen.
Ich habe Details zu Host, Port, Benutzername und Passwort.SSH mit Swift

Können Sie mir eine API in Swift und das Code-Snippet für die gleiche?

Antwort

0

Sie können einen Objective-C Rahmen NMSSH verwenden NMSSH Github

Oder meine kurze Version in Swift verwenden, die die Bibliothek für die Verbindung verwendet, Authentifizierung, Senden oder Ausführen von Befehlen

Github link

Sie kann dieses Framework hinzufügen, indem Podifle

Pod "PVPMikrotikSSH",: git => 'https://github.com/BlindDev/PVPMikrotikSSH.git'

Fühlen Sie sich frei, irgendwelche Probleme in der GitHub zu schaffen.

Ich habe keine Beschreibung auf Git hinzugefügt, weil ich es nur für mein Projekt gemacht habe, dann erkannte, dass es für jemanden hilfreich sein kann.

I

die Beschreibung auf GitHb gestellt werden und hier einige kurze Beispiel

Basic - den Rahmen nach pod Installation importieren:

import Foundation 
import PVPMikrotikSSH 

class SSHManager { 

    private var pvpManager: PVPSSHManager 
    static let defaultHost = "192.168.88.1" 

    init(host: String, userName: String, password: String?) { 

     pvpManager = PVPSSHManager(host: host, userName: userName, password: password) 
    } 

    convenience init() { 
     self.init(host: SSHManager.defaultHost, userName: "admin", password: "") 
    } 
} 

die die Verbindung starten Sie mehr hinzufügen Funktionen für diesen Manager

func initiateConnection(completion: ((_ success: Bool) -> Void)?) { 

     pvpManager.connectSessionAndAuthorize {(error) in 

      if let sessionError = error { 
       switch sessionError { 
       case .noPassword: 
        print("Session not connected: No password") 

        completion?(false) 
       case .notConnected: 
        print("Session not connected") 

        completion?(false) 

       case .notAuthorized: 
        print("Session not authorized") 

        completion?(false) 

       default: 
        //there are few more types of errors just use them if you need 
        print("Session is not connected") 
        completion?(false) 
       } 
      }else{ 
       print("Session connected") 
       completion?(true) 
      } 
     } 
    } 

Komma ausführen nds, können Sie diesem Manager weitere Funktionen hinzufügen:

+1

So integrieren Sie den schnellen Teil, den Sie freigegeben haben. Könntest du mich Schrittweise wissen lassen, wie ich neu zu Swift bin –

+0

Danke Woof ... Ich habe https://github.com/NMSSH/NMSSH benutzt und könnte das Problem lösen. wird es möglich sein, Befehl auszuführen, um die Werte aus der Datenbanktabelle –

+0

@RaghunathSahoo zu holen, froh, dass es geholfen hat. Der ausführende Befehl gibt einen Zeichenfolgenwert von der Endseite zurück, so dass Sie versuchen können, eine JSON-Zeichenkette vom Server zu senden, dann können Sie sie analysieren. – Woof