云服务器安全(centos)之配置window下的SSH密钥免密登录

一.本地生成公私钥

在cmd命令行中输入:
ssh-keygen -t rsa

后缀解释:
-t 密钥类型
-b 生成的密钥长度,默认为3072
-C 备注,可以填邮箱之类的,要带上引号

一路回车就好了,生成好是长这样子的:
在这里插入图片描述
在用户文件夹下的.ssh文件夹生成(C\Users\[你的用户名]\.ssh),.ssh可能是隐藏文件夹(自行百度)
id_rsa 私钥 / id_rsa.pub 公钥

二.修改服务器ssh的相关配置

编辑/etc/ssh/sshd_config,有#注释的去掉,没有的加上。

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile   .ssh/authorized_keys

编辑的方式:

  • 通过vim编辑
    • vim /etc/ssh/sshd_config
    • i进入编辑模式,编辑之后按esc退出编辑模式,输入:wq回车进行保存
  • 通过scp将文件拉下来改,再传上去(scp命令输完后,需输入服务器密码)
    • 拉取到当前路径下:
      scp root@[服务器IP地址]:/etc/ssh/sshd_config ./
      scp [服务器用户名]@[服务器IP]:[服务器路径] [本地路径]
    • 改完后上传:
      scp ./sshd_config root@[服务器IP地址]:/etc/ssh
      scp [本地路径] [服务器用户名]@[服务器IP]:[服务器路径]
      注:传递文件夹为 scp -r
  • 通过FTP

修改玩配置后,需要重启服务:/sbin/service sshd restart

三.将公钥配置到服务器

  1. 方便一点可以通过FTP去传文件,但是安全起见,配好密钥后,就不要用FTP,用第二种方式-scp,传完之后,接下来步骤同第二种。

  2. scp方式传递文件(scp命令输完后,需输入服务器密码)

    • 将公钥传递至服务器,在cmd命令行中输入:
      scp .\.ssh\id_rsa.pub root@[你的服务器IP]:~/
      scp [本地路径] [服务器用户名]@[服务器IP]:[服务器路径]
    • 将公钥添加至认证文件,在服务器中输入命令
      (这里无论是root还是其它用户都这么写,~/会进行指向)
      cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
    • 添加完毕后删除上传的公钥,在服务器中输入命令
      rm ~/id_rsa.pub
    • 给.ssh文件夹和authorized_keys文件权限,在服务器中输入命令
      chmod 700 ~/.ssh
      chmod 600 ~/.ssh/authorized_keys

    注:或者在本地创建或拉取authorized_keys文件,手动添加公钥,再进行上传。

四.本地修改配置文件

位置在之前公私钥生成的地方:C\Users\[你的用户名]\.ssh
看看是否有config文件,没有则需要新建,注意没有后缀。
用记事本打开config,增加以下内容:

Host test
     HostName [服务器IP]
     User root [服务器用户名]
     Port 22 [ssh端口]
     PreferredAuthentications publickey
     IdentityFile ~/.ssh/id_rsa [私钥路径]

保存了之后,可以在cmd命令行中输入:ssh test 或者 ssh root@test
就直接连上服务器了!
test的名字可以自定义,记得要把括号和括号里的字删掉,这个只是提示!

五.关闭服务器的密码登录

修改文件:/etc/ssh/sshd_config

PasswordAuthentication no

然后重启:systemctl restart sshd
注:用密码登录,可以用passwd修改密码,也可以不关闭,把密码设个二十位复杂点。

六.通过ssh访问服务器的端口

比如 3306数据库,在命令行中输入:
ssh -N -f -L 3306:localhost:3306 test
ssh -N -f -L [本地映射端口]:[本地IP localhost]:[服务器端口] [config的Host]
test 为之前config文件中配好的Host
连接中,不能关闭命令行,需要映射多个端口,则开启多个命令行。

推荐使用win10商店中的window Terminal,作为命令行工具,它可以对这个命令进行保存。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值