天天看点

openssh的使用方法

本次使用openssh 作为ssh 客户机服务器之间的沟通工具

ssh 作为加密协议的沟通工具,本次采用密钥对的方式进行通讯,生成密钥对,将公钥放在server处,私钥放在client端。

  1. 安装openssh, 去git 上下载
  2. 安装到windows server

    解压 Openssh-Win64.zip, 拷贝Openssh-Win64到磁盘任意路径,运行install-sshd.ps1 脚本,可以在此目录按住shift ,同时鼠标右键 选择 open windows powershell here…, 即在此目录下打开windows powershell ,输入

    .\install-sshd.ps1

    回车,就安装了。
openssh的使用方法
openssh的使用方法

3. 安装后,打开

C:\ProgramData\ssh

目录找到sshd_config 文件修改:

PasswordAuthentication yes
PubkeyAuthentication yes
#Match Group administrators
 #      AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
           
  1. 在此文件看到

    AuthorizedKeysFile .ssh/authorized_keys

    , 也就是说此处是存放openssh key 的地方,存储的是public key, 但public key 怎么产生呢?在server端还是在client 端? 网上流言都是在客户端产生,但实际其实在哪里产生都可以。本次我这里就是在服务端产生的。

    打开window cmd 命令行窗口输入

    ssh-kengen -t rsa

    ,然后一路回车,都采用默认值。就生成一对密钥对(此处密钥方式为 rsa,还有另外一种dsa 本人没有使用过,有兴趣的同学可以深入研究。)
    openssh的使用方法
  2. 然后就在%userprofile%/.ssh目录下看到刚刚产生的密钥对,
openssh的使用方法

id_rsa.pub为公钥,用记事本打开,可以看到用户名@机器名是啥:

openssh的使用方法

全部复制,拷贝到authorized_keys这个二进制文件中,保存:

openssh的使用方法

不知道怎么创建二进制文件的同学,可以先创建一个脚本文件1.txt, 然后rename 就可以了 打开cmd终端 运行

ren 1.txt authorized_keys

即可。

此时ssh 服务端已经部署好了。

  1. 打开services 将openssh 相关的service 重启,使上述所有setting生效:
    openssh的使用方法
    此时服务端所有配置就已经设置好了

8.将私钥拷贝到jenkins credential中,用于做程序的部署, 即jenkins作为客户端