Java连接Linux服务器

<!-- https://mvnrepository.com/artifact/ch.ethz.ganymed/ganymed-ssh2 --><dependency>    <groupId>ch.ethz.ganymed</groupId>    <artifactId>ganymed-ssh2</artifactId>    <version>build210</version></dependency>

一、服务器登陆公钥秘钥设置

步骤如下:

1、本机生成私钥公钥文件

本机进入到.ssh目录下,c:/Users/zhufengyan/.ssh, 在该目录下执行

$ ssh-keygen -t rsa

然后一路回车即可。

说明:如果原先./ssh目录下有id_rsa  id_rsa.pub这两个文件,以上的一路回车操作会生成新的id_rsa  id_rsa.pub来覆盖原来的key文件。

2、将本地生成的公钥信息放到服务器

将本地生成的公钥信息放置到需要访问的服务器,操作如下:

本地获取公钥信息,复制信息

Xshell登录服务器,加入你有root权限,

Cd /root/.ssh

Vi authorized_keys

将以上复制的内容粘贴到文件尾部。Ok完成。

说明:假设你的服务器上没有authorized_keys这个文件,那么就自己创建一个,创建完后将公钥信息粘贴到这个文件中,保存,还需要进行授权,chmod 600 authorized_keys。

另外:ssh公钥生效需满足至少下面两个条件:
1 .ssh目录的权限必须是700;
2 .ssh/authorized_keys文件权限必须是600;

二、连接服务器

步骤如下

1、        将私钥文件放到项目的resources目录下

则代码中访问的路径是

private String privateKeypath "src/main/resources/sshkey/id_rsa";

2、        代码实现连接服务器

/**  * 建立与服务器的连接  * @param host 服务器IP  String host = "192.168.178.1";  * @param port 端口   int port = 22;  * @param userName  登录服务器的用户名  * @param password  登录服务器的密码  * @param privateKeyFile  与服务器公钥对应的私钥文件  String pubkeypath = "src/main/resources/sshkey/id_rsa";  * @return  返回登录的连接, 在使用的最后一定记得关闭connect资源  * @throws IOException  */ public static Connection getSSHConnection(String host, int port, String userName, String password, String privateKeyFile) throws IOException {
    Connection connection = new Connection(host, port);
    connection.connect();
    File file = new File(privateKeyFile);
    boolean b = connection.authenticateWithPublicKey(userName, file, password);
    if (b){
        return connection;
    }else {
        System.out.println("登录连接失败,请检查用户名、密码、私钥文件");
        return null;
    }
}

原文地址:https://www.cnblogs.com/banml/p/11351047.html

时间: 2024-10-16 07:04:51

Java连接Linux服务器的相关文章

java连接Linux服务器问题

问题: 使用java连接Linux服务器上的redis失败 代码: package com.redis.study.test; import org.junit.Test; import redis.clients.jedis.Jedis; public class RedisTest { @Test public void test() { Jedis jedis = new Jedis("192.168.80.128", 6379); System.out.println(jedi

widows本地-xshell实现远程连接linux服务器图形界面

本地环境远程连接linux图形界面,常用的实现工具有,VNC.Puty.Xshell等,这里我们用的xshell manager: Xmanager简介:Xmanager是一个运行于 Windows平台上的高性能的X Server软件.它能把远端Unix/Linux的桌面无缝地带到你的Windows上,甚至电脑是在内网或防火墙后,也能通过SSH协议安全的运行远端的X应用程序. 特点包括: 可通过Xcongfig工具设置多个Xmanager设置: 支持多用户的Windows终端环境: 支持多个IP

远程连接Linux服务器

远程连接Linux服务器一般使用ssh方式. 1.Linux系统下连接远程Linux服务器可以直接使用ssh命令. 格式如下: ssh [email protected]192.168.1.1 root对应你使用的用户名,192……对应的服务器ip地址,一般服务器端口22,命令默认22,如果需要更改端口在ssh后面 -p 端口. 2.Windows系统下连接Linux服务器一般需借助PuTTY, Xshell, SSH Secure Shell Slient,SecureCRT.

java连接远程服务器

我用的是smb协议 共享方式连接远程 Windows服务器  也可以用ftp 但要保证服务器是ftp的 连接Linux服务器可以用ssh 协议 新建一个res.properites连接 IP=10.61.28.56 SMB_MINGCHENG=smb://jichuzhongxin:[email protected] //服务器登录名 密码 IP WENJIAN_NAME=/res.properties //代码 public class UploadFile{ // 读取服务器文件夹到本地 p

连接Linux服务器:Win免费SSH客户端工具

连接Linux服务器:Win免费SSH客户端工具 http://blog.csdn.net/jiangdou88/article/details/51585555

如何在Windows系统上利用Telnet协议连接Linux服务器

Telnet协议是Internet远程登录服务的标准协议,它为用户提供了在本地计算机上完成远程主机工作的能力.很多终端使用者都习惯在计算机上利用Telnet会话来远程控制服务器.这里小编就分两步为大家演示如何在Windows系统上利用Telnet协议连接Linux服务器. 步骤一:在Windows系统上打开Telnet功能:  步骤二:在Linux系统上启用Telnet服务. 步骤一:Windows终端开启Telnet功能 1/由于在Windows Vista之后的版本默认并没有提供Telnet

Windows10连接linux服务器

平时我们通过windows连接服务器时,大多数用的是ssh客户端软件,推荐使用ssh,安全系数比较高.下面介绍用telnet连接服务器. 客户端:C:\Users\dell>systeminfo主机名:           BOHAOOS 名称:          Microsoft Windows 10 家庭中文版OS 版本:          10.0.10240 OS 制造商:        Microsoft CorporationOS 配置:          独立工作站OS 构件类型

连接Linux服务器操作Oracle数据库

连接Linux服务器操作Oracle数据库 由于项目已经上线,现场的数据库服务器不允许直接用Oracle的客户端plsqldev.exe来连接,只能通过Linux服务器的命令来操作. 以下是用SecureCRT 5.1客户端连接Linux服务器来操作Oracle数据库: 1.连接到Linux服务器(输入服务器的ip地址) ssh 10.199.94.227 连接成功后会提示输入密码,输入成功会提示. 2.切换到操作Oracle数据库 su - oracle 切换成功会提示相关数据库的实例.例如:

xshell连接linux服务器切换至oracle的sqlplus控制台时,无法使用回车键的解决方案!

当使用xshell连接linux服务器后,切换至sqlplus控制台,当使用回车键时,出现^H的符号,貌似回车键不能用!解决方案: 1)$ stty erase ^H : 与退格键相关的设置是erase,它表示删除最后一个字符. 如果在当前窗口执行的话,只对当前的窗口有效,下次登陆的时候还需要重新设置,可以把这个命令写入shell 的配置文件,如~/.bashrc 中,这样每次都能生效了. 2)使用delete键代替退格键, 3)使用ctrl+退格键 4)执行命令 stty erase ^H 修