ne7ssh:NetSieben SSH 库 (ne7ssh)

  • i8_483686
    了解作者
  • 906.8KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-05-23 02:44
    上传日期
更新:2/26/2015 - 在使用这个库相当长一段时间后,我决定将它用作 cppssh 的快速原型。 所有的开发都转移到了那个项目上。 致:Andrew Useckas Keef Aragon 的公开信 ne7ssh 好像已经废弃了。 我试图联系你们两个,但我至今没有收到任何回复。 如果你决定复活ne7ssh,那么请联系我,以便我们合并和收敛。 谢谢 - 克里斯 D。 NetSieben SSH 库 (ne7ssh) v1.3.x 自述文件 法文 NetSieben Technologies Pty Limited 版权所有 (C) 2005-2009 NetSieben Technologies INC ALL RIGHTS RESERVED 本程序可根据挪威奇趣科技 AS 定义的 Q 公共许可证条款分发,并出现在本文件包装中包含的 LICENSE.QPL 文件中。 分
ne7ssh-master.zip
  • ne7ssh-master
  • src
  • ne7ssh.cpp
    6.9KB
  • ne7ssh_keys.h
    6KB
  • ne7ssh_transport.cpp
    13.9KB
  • ne7ssh_channel.cpp
    13.4KB
  • ne7ssh_sftp.cpp
    41.8KB
  • ne7ssh_error.cpp
    5.6KB
  • ne7ssh_connection.cpp
    10.9KB
  • CMakeLists.txt
    1.8KB
  • ne7ssh_sftp_packet.h
    3KB
  • ne7ssh_keys.cpp
    14KB
  • ne7ssh_channel.h
    8.5KB
  • ne7ssh_string.h
    6.6KB
  • ne7ssh_string.cpp
    6.3KB
  • ne7ssh_types.h
    2.4KB
  • ne7ssh_crypt.cpp
    22.9KB
  • ne7ssh.h
    16.3KB
  • ne7ssh_crypt.h
    14.9KB
  • ne7ssh_sftp.h
    16.5KB
  • ne7ssh_rng.h
    2.3KB
  • ne7ssh_connection.h
    8.8KB
  • ne7ssh_transport.h
    5.2KB
  • ne7ssh_session.h
    4.6KB
  • ne7ssh_kex.cpp
    11.2KB
  • ne7ssh_sftp_packet.cpp
    3.7KB
  • ne7ssh_kex.h
    3.7KB
  • ne7ssh_session.cpp
    1.3KB
  • ne7ssh_impl.h
    9.4KB
  • ne7ssh_error.h
    3.3KB
  • ne7ssh_impl.cpp
    20.1KB
  • doc
  • html
  • functions_func_0x76.html
    3.7KB
  • inherit__graph__4.map
    201B
  • namespaceBotan.html
    1.4KB
  • files.html
    3.2KB
  • inherit__graph__7.map
    96B
  • inherit__graph__15.md5
    32B
  • functions_func_0x6f.html
    3.8KB
  • structconnStruct.html
    5.5KB
  • classes.html
    4.5KB
  • functions_func_0x68.html
    5.2KB
  • classne7ssh__connection__coll__graph.md5
    32B
  • functions_func_0x6d.html
    4KB
  • dir_f38c3faaed4ee86c894d75645400fcb5_dep.png
    1.6KB
  • inherit__graph__9.md5
    32B
  • inherit__graph__6.map
    100B
  • inherit__graph__1.md5
    32B
  • inherit__graph__5.map
    110B
  • classNe7SftpSubsystem-members.html
    8.4KB
  • classne7ssh__coll__graph.map
    1.3KB
  • functions_0x6f.html
    3.8KB
  • classne7ssh__coll__graph.png
    62.9KB
  • classNe7SftpSubsystem__coll__graph.md5
    32B
  • functions_func_0x67.html
    9.9KB
  • classne7ssh__crypt.html
    75.1KB
  • classne7ssh__channel.html
    53.2KB
  • index.html
    1.1KB
  • classNe7sshSftpPacket__coll__graph.png
    3.5KB
  • structNe7sshError_1_1Error.html
    2.7KB
  • classne7ssh__keys__coll__graph.map
    102B
  • inherit__graph__5.png
    1.1KB
  • classne7ssh__string.html
    52.3KB
  • functions_0x77.html
    4KB
  • classne7ssh__crypt-members.html
    21KB
  • classNe7sshSftp__inherit__graph.png
    2.9KB
  • functions_func_0x73.html
    6.6KB
  • functions_func_0x62.html
    3.4KB
  • classne7ssh__kex__coll__graph.map
    426B
  • structNe7sshSftp_1_1sftpFile-members.html
    2.3KB
  • dir_dd1c5291a9065b7545d10d656e7badb5_dep.png
    1.7KB
  • inherit__graph__3.map
    86B
  • graph_legend.dot
    2.2KB
  • inherit__graph__2.map
    132B
  • classne7ssh__kex-members.html
    5.4KB
  • inherit__graph__15.map
    128B
  • classne7ssh__channel__inherit__graph.png
    2.8KB
  • inherit__graph__4.md5
    32B
  • classNe7sshSftpPacket__coll__graph.map
    103B
  • classne7ssh__connection__coll__graph.png
    45.9KB
  • functions_enum.html
    1.8KB
  • dirs.html
    1.4KB
  • classne7ssh__transport__coll__graph.map
    212B
  • crypt_8h_source.html
    18KB
  • functions_0x6c.html
    3.7KB
  • classne7ssh__channel__coll__graph.md5
    32B
  • classNe7SftpSubsystem__coll__graph.png
    40.7KB
  • structconnStruct__coll__graph.md5
    32B
  • tab_b.gif
    35B
  • classne7ssh__crypt__coll__graph.md5
    32B
  • classne7ssh__kex__coll__graph.png
    17.7KB
  • functions_0x6e.html
    5.9KB
  • functions_0x76.html
    3.7KB
  • dir_dd1c5291a9065b7545d10d656e7badb5_dep.map
    210B
  • inherit__graph__13.md5
    32B
  • ne7ssh__sftp__packet_8h_source.html
    6.4KB
  • ne7ssh__kex_8h_source.html
    7.3KB
  • inherit__graph__5.md5
    32B
  • inherit__graph__14.md5
    32B
内容介绍
## UPDATE: 2/26/2015 - After spending quite some time with this library, I decided to use it as a rapid prototype for cppssh. All development has moved to that project. # https://github.com/cdesjardins/cppssh <br><br><br><br><br><br><br><br> An open letter to: Andrew Useckas <andrew@netsieben.com rel='nofollow' onclick='return false;'> Keef Aragon <keef@netsieben.com> It seems that ne7ssh has been abandoned. I have attempted to contact you both, but I have as of yet not recieved any response. If you decide to resurrect ne7ssh, then please contact me so that we can merge and converge. Thanks - Chris D. NetSieben SSH Library (ne7ssh) v1.3.x README LEGALESE NetSieben Technologies Pty Limited http://www.netsieben.com Copyright (C) 2005-2009 NetSieben Technologies INC ALL RIGHTS RESERVED This program may be distributed under the terms of the Q Public License as defined by Trolltech AS of Norway and appearing in the file LICENSE.QPL included in the packaging of this file. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ---------------------------------------- Table of Contents 1. Overview 1.1 Features 1.2 Dependencies 1.3 Installation 2. Usage 2.1 Initializing the class 2.2 Setting the options 2.3 Connecting to a remote server 2.3.1 Key based authentication 2.3.1.1 Generating a key pair 2.3.2 Password based authentication 2.4 Communications 2.4.1 Interactive mode 2.4.2 Single command 2.5 Closing the connection 2.6 Error handling 2.6.1 Core context 2.6.2 Channel context 2.7 Secure FTP support 2.7.1 Initializing the subsystem 2.7.2 Setting a timeout for SFTP communications 2.7.3 Downloading a file 2.7.4 Uploading a file 2.7.5 Removing a file 2.7.6 Renaming or moving a file 2.7.7 Changing the current context 2.7.8 Creating a new directory 2.7.9 Removing a directory 2.7.10 Getting a directory listing 2.7.11 Changing permissions 2.7.12 Changing ownership 3. Commercial License ---------------------------------------- 1. Overview The Secure Shell (SSH) protocol is used by many, as a secure way of managing servers, firewalls and other network appliances. Nowadays many custom built applications require Secure Shell client functionality. Instead of spending countless hours building SSH functionality into an application one can now use NetSieben Technologies Inc. (NetSieben) SSH library to securely communicate with a variety of SSH server implementations. The library was developed by NetSieben after researching the limited number of options available. A lot of available solutions were either wrappers to openssh application or libraries with very limited functionality, and at best, still in alpha or beta stages of development. At this time version 1 of the SSH protocol is outdated with well known security flaws inherently in its design. Therefore NetSieben SSH library supports only with version 2 of the SSH protocol. Currently NetSieben's library supports only the SSH client. 1.1 Features Feature Supported Algorithms Key exchange Diffie Hellman Group 1, SHA1 Signatures ssh-dss (1024) User authentication public key, password Authentication keys DSA (512bit to 1024bit), RSA Encryption aes256-cbc, twofish-cbc, twofish256-cbc, blowfish-cbc, 3des-cbc, aes128-cbc, cast128-cbc HMAC hmac-md5, hmac-sha1, none Compression not supported Interoperability SSH Library should work with most SSH2 server implementations. Tested with openssh on Linux. Solaris, FreeBSD and NetBSD. Also tested with Juniper Netscreen ssh server implementation. Portability: The NetSieben SSH Library is based on the Botan crypto library, making it highly portable. It has been tested on Linux x86, Linux x86_64Linux PPC, Linux SPARC, Solaris, Windows 2000 and XP. 1.2 Dependencies A C++11 compatible compiler is required to build NetSiben SSH Library. NetSiben SSH Library requires Botan crypto library 1.10. The Botan library can be found here: http://botan.randombit.net NetSieben SSH Library requires Cmake version 3.1 or higher. Cmake software can be found here: http://www.cmake.org 1.3 Installation Public version of NetSieben SSH library is distributed in source code form. For more information please refer to INSTALL file included in the software package. 2. Usage 2.1 Initializing the class Before using library's functionality it needs to be initialized. The initialization process will allocate the required memory resources and prepare cryptographic methods for usage. It is recommended to do this first, when starting the application. Only one instance of ne7ssh class can be used at a time. Single instance of ne7ssh class is able to handle multiple connections to multiple servers. It is recommended to initialize the class when starting, use the same class for all of your SSH connections, and destroy it on the exit. The class should be initialized with the following command: ne7ssh *ssh = new ne7ssh (); The constructor of the class requires no arguments. The applications will exit when trying to initialize the class more than once within the same application. 2.2 Setting the options Before opening Secure connections, custom options can be configured for the use in all future connections. Currently only desired cipher and integrity checking algorithms can be configured. The following method can be used to configure the options: setOptions (const char *prefCipher, const char *prefHmac) prefCipher your preferred cipher algorithm string representation. Supported options are: aes256-cbc, twofish-cbc, twofish256-cbc, blowfish-cbc, 3des-cbc, aes128-cbc, cast128-cbc. prefHmac the preferred integrity checking algorithm string. Supported optionss are: hmac-md5, hmac-sha1 and none. This step is optional and if skipped the SSH library will use the default settings. If desired algorithms are not supported by the server, the next one from the list of supported algorithms will be used. 2.3 Connecting to a remote server After the options are set, connections to remote servers can be initiated. NetSieben library supports Password and Public Key authentication methods. 2.3.1 Key based authentication NetSieben SSH library supports key based authentication. For this to work one needs to generate a key pair either by using generateKeyPair method from ne7ssh class or by using ssh-keygen program included in openssh distributions. Server has to support key based authentication and newly generated public key needs to be added to servers authorized keys. The process may differ depending on SSH server vendor. Currently RSA and DSA keys are supported. The NetSieben library keys are compatible with unencrypted OpenSSH keys. No password should be specified when creating a key pair with ssh-keygen. To establish connection to a remote server using a private key use the following method: int ssh->connectWithKey (const char* host, uint32 port, const char* username, const char* privKeyFile); host Hostname or IP of the server. port Port the SSH server binds to. usually be 22 (standard SSH port). username Username to be used in authentication. PrivKeyFile Full path to a PEM encoded private key file. If the connection succeeds, the method will return the newly created channel ID. This ID should be used in all further communications via newly created connection. If the connection failed for any reason, "-1" will be returned by the method. Generating a key pair NetSieben SSH library can be used to generate key pairs. Currently RSA and DSA key algorithms are supported. DSA keys can only be between 512bits and 1024bits (restriction inherited from Botan library). The newly generate keys are OpenSSH compatible and public keys can be pasted straight into authorized_keys file. The following method generates a key pair: bool generateKeyPair (const char* type, const char* fqdn, const char* privKeyFileName, const char* pubKeyFileName, uint16 keySize); type String spec
评论
    相关推荐
    • ssh源码
      ssh源码
    • sshUbuntu
      sshUbuntu
    • SSH实践
      SSH实践
    • ssh商城源码
      ssh商城源码ssh商城源码ssh商城源码ssh商城源码ssh商城源码ssh商城源码ssh商城源码ssh商城源码ssh商城源码ssh商城源码ssh商城源码ssh商城源码ssh商城源码
    • SSH Checker
      SSH file sample IP(Host)|user|pass|Country IP(Host)|user|pass|Country
    • SSH
      SSH
    • ssh activiti
      ssh activiti activiti源码分析
    • SSH
      ssh-chain可以充当ssh的包装,以避免用垃圾填充您的known_hosts文件-只需运行ssh-chain而不是ssh。 简单的用例是这样的: ssh final.example ^ second.example ^ first.example 该连接是从右到左建立的,因此您将...
    • SSH SSH SSH
      SSH SSH SSH SSH SSH SSH SSH SSH SSH SSH SSH SSH
    • ssh2
      ssh2.....ssh2.....ssh2.....ssh2.....