2017-11-06 09:57:17 nevermore668 阅读数 162
  • SSH面试和笔试指导

    由于SSH部分内容庞杂,各大高校和培训机构在教学中存在着大量的问题。如重点不突出、理解错误等。为了便于大家掌握SSH的重点知识,在面试和笔试中轻松通过,肖老师整理了大量的重要试题,并进行了详细讲解!

    9239 人正在学习 去看看 肖海鹏
public class SSHHelper {
    /**
     * 远程 执行命令并返回结果调用过程 是同步的(执行完才会返回)
     *
     * @param host    主机名
     * @param user    用户名
     * @param psw     密码
     * @param port    端口
     * @param command 命令
     * @return
     */
    public static String exec(String host, String user, String psw, int port, String command) {
        String result = "";
        Session session = null;
        ChannelExec openChannel = null;
        try {
            JSch jsch = new JSch();
            session = jsch.getSession(user, host, port);
            java.util.Properties config = new java.util.Properties();
            config.put("StrictHostKeyChecking", "no");
            session.setConfig(config);
            session.setPassword(psw);
            session.connect();
            openChannel = (ChannelExec) session.openChannel("exec");
            openChannel.setCommand(command);
            int exitStatus = openChannel.getExitStatus();
            System.out.println(exitStatus);
            openChannel.connect();
            InputStream in = openChannel.getInputStream();
            BufferedReader reader = new BufferedReader(new InputStreamReader(in));
            String buf = null;
            while ((buf = reader.readLine()) != null) {
                result += new String(buf.getBytes("gbk"), "UTF-8") + "    <br>\r\n";
            }


        } catch (JSchException e) {
            result += e.getMessage();
        } catch (IOException e) {
            result += e.getMessage();
        } finally {
            if (openChannel != null && !openChannel.isClosed()) {
                openChannel.disconnect();
            }
            if (session != null && session.isConnected()) {
                session.disconnect();
            }
        }
        return result;
    }
   }
2017-03-20 19:46:23 qq_25673113 阅读数 27185
  • SSH面试和笔试指导

    由于SSH部分内容庞杂,各大高校和培训机构在教学中存在着大量的问题。如重点不突出、理解错误等。为了便于大家掌握SSH的重点知识,在面试和笔试中轻松通过,肖老师整理了大量的重要试题,并进行了详细讲解!

    9239 人正在学习 去看看 肖海鹏

windows

首先Windows是没有ssh这个命令的,所以我们先要使Windows可以使用ssh命令


  1. 下载openssh for Winodws:
    http://linux.linuxidc.com/index.php?folder=MjAxNMTq18rBzy8y1MIvMTTI1S9XaW5kb3dzIDfD/MHu0NDPwsq508NTU0jNqLn9w9jUv7XHwrxMaW51eA==
  2. 完成安装
  3. 设置环境变量,编辑Path,在行尾追加 ;{openssh的下载路径}\bin (替代地址)
  4. cmd命令行,尝试ssh -V,产生版本信息说明可以

现在可以用ssh来登入一般的远程服务器,当然有一些需要服务器需要==私钥文件==,这时候我们可以使用ssh windows的客户端来实现。


  1. 下载PuTTY:http://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
  2. 打开安装目录下的PuTTYgen
  3. 点击“Load”选项,如图所示;
    这里写图片描述
  4. 选择已下载的私有SSH密钥,注意需将文件名右侧的显示类型改为所有文件,如图2所示;
    这里写图片描述

  5. 输入你本地的一个密码,登入服务器的时候要用。点击“Save private key”按钮创建新的ppk文件,如图4所示。

这里写图片描述


配置PuTTY

  1. 登录PuTTY下载页面下载及打开PuTTY;

  2. 在PuTTY配置中,左侧选择“Session”分类,在右侧输入主机名,如图5所示;
    这里写图片描述

  3. 选择“Connection”分类下的“Data”项,如图6所示;
    这里写图片描述

  4. 输入cPanel用户名作为Auto-login username;

  5. 选择左侧SSH后,右侧“Preferred SSH protocol version”项选择2,如图7所示;
    这里写图片描述

  6. 点击SSH左侧加号后选择“Auth”,点击“Browse”,选择当地私有密钥文件进行认证,选择我们刚刚生成的akk文件,如图8所示;
    这里写图片描述

  7. 最后,选择“Session”–>“Saved Sessions”文本框输入名字后,点击“Save”即可,保存设置,下次只要选这个直接进入。
    这里写图片描述

  8. 文本框“Saved Sessions”输入名字后保存,点击open,链接服务,要输入刚刚设置的密码。

参考:https://tutorials.hostucan.cn/using-ssh-on-windows

mac版本

假设下载证书到本地,假设下载到本地的路径为$HOME/Downloads/aa.pem,我们在终端中输入

$ mv ~/Downloads/aa.pem ~/.ssh/
$ chmod 600 ~/.ssh/aa.pem

把文件存入.ssh里。

新建文件~/.ssh/config,添加以下内容

Host 快捷名
User 用户名
HostName 远程地址
IdentityFile ~/.ssh/aa.pem
如果~/.ssh/config这个文件已经存在就将以上内容添加在文件最前面或者最后面。

这样我们在终端下
$ ssh 快捷名
就能登录远程服务器了。

2017-01-06 17:42:11 XIAO_XIAO_C 阅读数 2017
  • SSH面试和笔试指导

    由于SSH部分内容庞杂,各大高校和培训机构在教学中存在着大量的问题。如重点不突出、理解错误等。为了便于大家掌握SSH的重点知识,在面试和笔试中轻松通过,肖老师整理了大量的重要试题,并进行了详细讲解!

    9239 人正在学习 去看看 肖海鹏

如何通过linux ssh远程linux服务器免密码登陆


1.本地需要有key文件(公钥和私钥)

没有key,执行下面命令行生成公私钥
命令行: ssh-keygen -t rsa
# 然后一路回车

执行命令后 进入 cd ~/.ssh目录
查看本地是否生成key文件: id_rsa(私钥)  id_rsa.pub(公钥)

2.将本地的id_rsa.pub(公钥)拷贝到远程Linux服务器的 ~/.ssh/authorized_keys 文件上

#如果服务器上没有authorized_keys文件,需要手工建立,并且修改该文件的访问权限:

$ touch ~/.ssh/authorized_keys
$ chmod 400 ~/.ssh/authorized_keys

ssh-copy-id -i ~/.ssh/id_rsa.pub root@xxx.xxx.xxx.xxx

3.登陆Linux服务器无需输入密码

ssh root@xxx.xxx.xxx.xxx

参考链接: http://www.cnblogs.com/dasn/articles/5644120.html

没有更多推荐了,返回首页