Skip to main content
Glama

mcp_command-line_tool

by gengzi
Apache 2.0
2
  • Linux
  • Apple
JSchKeyExample.java3.22 kB
package com.gengzi; import com.jcraft.jsch.*; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; public class JSchKeyExample { public static void main(String[] args) { JSch jsch = new JSch(); String privateKeyContent = "-----BEGIN OPENSSH PRIVATE KEY-----\n" + "b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jdHIAAAAGYmNyeXB0AAAAGAAAABDCdlbvrv\n" + "BFX2LVDcoH04ByAAAAGAAAAAEAAAAzAAAAC3NzaC1lZDI1NTE5AAAAIFPRyMryyR92LU4e\n" + "3t5lc+wv6+f+ssPfj2fQ9TzVBQyGAAAAoPtOGKfPm6iyL4jvDqSfBnUYnJgwsLbM6v9+r9\n" + "C5FQl197rO9nPx6mYN4lg5thcjW3DOhRu8iGoa1tYBymsEmxHA2cNQt6uAdsDpAEAV2amw\n" + "O02oHKG67eYs2TI2VALHh8zYtbVSOx2ApUMfHuoKtgeF93huJ/HA3jjxHNO538wIvqyrAu\n" + "NynwGONXxLu7oQrjyir2cB4UwRjN86sJDqQ7Y=\n" + "-----END OPENSSH PRIVATE KEY-----"; // 完整私钥字符串 String passphrase = ""; // 密码短语(如有) try { // 使用密钥登录 // 添加私钥 // 读取私钥文件内容为字符串(确保是 PEM 格式) jsch.addIdentity("/Users/gengshuaijia/.ssh/id_ed25519"); // String privateKeyContent = new String(Files.readAllBytes(Paths.get(sshConfig.getPrivatekeypath()))); // // 将私钥内容直接传入(适用于内存中已有私钥字符串的场景) // jsch.addIdentity("id_rsa", privateKeyContent.getBytes(), null, null); // 后续会话连接逻辑... //ssh 142128133dc08216fe81225ae78988d96019b57e-cvcwkd@cvcwkd.ssh.cloudstudio.work Session session = jsch.getSession("142128133dc08216fe81225ae78988d96019b57e-cvcwkd", "cvcwkd.ssh.cloudstudio.work", 22); session.setConfig("StrictHostKeyChecking", "no"); session.setConfig("PreferredAuthentications", "publickey,keyboard-interactive,password"); session.connect(); String echoHello = executeCommand(session, "date"); System.out.printf("echoHello: %s\n", echoHello); } catch (JSchException e) { e.printStackTrace(); } } public static String executeCommand(Session session, String command) { StringBuilder result = new StringBuilder(); try { Channel channel = session.openChannel("exec"); ((ChannelExec) channel).setCommand(command); channel.setInputStream(null); ((ChannelExec) channel).setErrStream(System.err); InputStream in = channel.getInputStream(); channel.connect(); BufferedReader reader = new BufferedReader(new InputStreamReader(in)); String line; while ((line = reader.readLine()) != null) { result.append(line).append("\n"); } channel.disconnect(); session.disconnect(); } catch (JSchException | java.io.IOException e) { e.printStackTrace(); } return result.toString(); } }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gengzi/mcp_command-line_tool'

If you have feedback or need assistance with the MCP directory API, please join our Discord server