{"id":27531207,"url":"https://github.com/richardschoen/sshnetibmi","last_synced_at":"2026-02-04T00:03:03.043Z","repository":{"id":179717145,"uuid":"324821474","full_name":"richardschoen/SShNetIbmi","owner":"richardschoen","description":"This .Net/.Net Core class library is used to interface with existing IBM i database, program calls, CL commands, service programs and data queues via the PASE based xmlservice-cli PASE command program or regular qsh/bash commands. qsh/bash commands can be used to interface with any qsh/pase based utilities such as the IBM i db2util utility","archived":false,"fork":false,"pushed_at":"2024-11-10T14:16:29.000Z","size":48,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-22T03:27:12.792Z","etag":null,"topics":["as400","cl","command","csharp","data","db2","ddm","dotnet","drda","ibm","ibmi","os400","pase","program","qcmdexc","qcmdexec","queue","rpg","xmlservice","xmlservice-cli"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/richardschoen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-12-27T18:15:00.000Z","updated_at":"2024-11-10T14:16:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"64811af2-6bc8-439e-866a-132b93847019","html_url":"https://github.com/richardschoen/SShNetIbmi","commit_stats":null,"previous_names":["richardschoen/sshnetibmi"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/richardschoen/SShNetIbmi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardschoen%2FSShNetIbmi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardschoen%2FSShNetIbmi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardschoen%2FSShNetIbmi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardschoen%2FSShNetIbmi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/richardschoen","download_url":"https://codeload.github.com/richardschoen/SShNetIbmi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardschoen%2FSShNetIbmi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29062483,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T23:14:54.203Z","status":"ssl_error","status_checked_at":"2026-02-03T23:14:50.873Z","response_time":96,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["as400","cl","command","csharp","data","db2","ddm","dotnet","drda","ibm","ibmi","os400","pase","program","qcmdexc","qcmdexec","queue","rpg","xmlservice","xmlservice-cli"],"created_at":"2025-04-18T17:49:02.176Z","updated_at":"2026-02-04T00:03:03.027Z","avatar_url":"https://github.com/richardschoen.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# .Net Framework/.Net Core Class Library for IBM i - AS/400 Database and Program Access over SSH\nSShNetIbmi/IbmiXmlServiceStdSsh is a .Net Standard 2.0 class library for accessing IBM i system services via SSH from .Net Framework 4.6.2 and above as well as .Net Core 2.0 and above.  \n\n.Net applications can access PASE, QShell, bash, SSH and XMLSERVICE functionality using a secure SSH system connection via user/password or SSH private key authentication.\n\nThe class library can be used to connect with an IBM i system over SSH. The library can interface to the IBM i database via SQL, program calls, CL commands, service programs and data queues via the PASE based ```xmlservice-cli``` command line program (part of open source package ```itoolkit-utilities```).    \n\nRegular qsh/bash commands can also be run to interface with utilities such as the [IBM i db2util utility](https://github.com/IBM/ibmi-db2util) or programs written in languages such as Java, Python, PHP, Node.js and more.\n\nQuery and program call return data is returned in .Net DataTable format, JSON, CSV or you can process the raw XMLSERVICE responses yourself.\n\nThe IBMiXmlServiceStdSsh class library can be installed to your .Net project from Nuget. https://www.nuget.org/packages/IbmiXmlserviceStdSsh   \n\n```Commercial .Net development and product support can be purchased through MobiGoGo LLC``` (http://www.mobigogo.net)\n\n# Install from Nuget\n\nhttps://www.nuget.org/packages/IbmiXmlserviceStdSsh\n\n# IBM i System Requirements:\n ● XMLSERVICE methods require the ```xmlservice-cli``` package installed on the target system via yum packages (/QOpenSys/pkgs.bin/xmlservice-cli). Installs as part of part of the open source ```itoolkit-utilities```.\n \n ● The class library Uses ```SSH.Net``` for SSH connectivity so IBM i SSH server must be running. (V7R2 and above)\n\n Starting your SSH server   \n ```STRTCPSVR *SSHD```\n \n ● Set up user's SSH shell default to be ```bash```. (See below)\n \n ● The ```XMLSERVICE``` service program library ```QXMLSERV``` must also exist on the system, This library is installed as part of the IBM i operating system.\n \nXMLSERVICE is typically packaged on the IBMi in library: ```QXMLSERV``` as part of the operating system, but if you want to play with the code, here's the current Github location as of 1/23/2019    \n\nhttps://github.com/IBM/xmlservice\n \n ● Make sure the IBM i user you will be using for SSH access has /QOpenSys/pkgs/bin in the user search path. \n \n ```export PATH=/QOpenSys/pkgs/bin:$PATH```\n \n❗ For appropriate security you should configure your SSH users for appropriate security limitations in the IFS and for libraries and commands that may be accessed over an SSH connection to IBM i.**\n\n# Set default shell to bash for SSH user\nNowadays, the best way to do this is to using QSYS2.SET_PASE_SHELL_INFO() SQL procedure from your favorite SQL tool or STRSQL\n\n```\n-- set current user's shell\nCALL QSYS2.SET_PASE_SHELL_INFO('*CURRENT', '/QOpenSys/pkgs/bin/bash');\n\n-- set a specific user's shell\n-- (requires *SECADM special auth plus *USE and *OBJMGT to the user profile)\nCALL QSYS2.SET_PASE_SHELL_INFO('THATUSER', '/QOpenSys/pkgs/bin/bash');\n\n-- set the default shell which is returned for users that do not have\n-- (requires *SECADM special auth plus *USE and *OBJMGT to QSYS)\nCALL QSYS2.SET_PASE_SHELL_INFO('*DEFAULT', '/QOpenSys/pkgs/bin/bash');\n```\nhttps://stackoverflow.com/questions/23913957/set-default-pase-ibm-i-shell-for-individual-user\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frichardschoen%2Fsshnetibmi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frichardschoen%2Fsshnetibmi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frichardschoen%2Fsshnetibmi/lists"}