本地服务器搭建 二之 (服务器使用密钥安全连接)

举报
西魏陶渊明 发表于 2022/09/25 03:16:58 2022/09/25
【摘要】 作者:@lxchinesszz 本文为作者原创,转载请注明出处 紧接上文,上文的重点不是连接,而是如何在局域网中用废弃的电脑搭建,是不是感觉很easy,那么这篇文章我们的重点就放在了安全上了,因为毕竟服务器是我们放应用或者数据库的地方,安全性一定要可靠。小编是做Java开发的,一只热爱技术的小菜鸟,因为工作中常常要一条龙服务,即...

作者:@lxchinesszz
本文为作者原创,转载请注明出处

紧接上文,上文的重点不是连接,而是如何在局域网中用废弃的电脑搭建,是不是感觉很easy,那么这篇文章我们的重点就放在了安全上了,因为毕竟服务器是我们放应用或者数据库的地方,安全性一定要可靠。小编是做Java开发的,一只热爱技术的小菜鸟,因为工作中常常要一条龙服务,即,自己写需求文档,自己码代码,自己测试,自己部署,自己维护。虽然很累,但是很充实,很能提高自己。我也希望把自己的工作经验分享出来,对那些想小编一样热爱技术的小伙,有所帮助。说半天废话,下面开始。

  • 密钥登录原理:

    • 密钥常是一对的,即公钥和私钥,将公钥添加到服务器上的某个账户,然后客户端连接的时候,使用私钥完成认证就可以登录
  • 小编我的两个物理主机一台虚拟主机和手机都是这样连接起来的

A.使用私钥登录

1.制作密钥对

  • 首先在服务器制作,需要的登录账户,然后执行以下命令

  
  1. [root@host ~]$ ssh-keygen #建立密钥对
  2. Generating public/private rsa key pair.
  3. Enter file in which to save the key (/root/.ssh/id_rsa): #按 Enter
  4. Created directory '/root/.ssh'.
  5. Enter passphrase (empty for no passphrase): # 输入密钥锁码,或直接按 Enter 留空
  6. Enter same passphrase again: # 再输入一遍密钥锁码
  7. Your identification has been saved in /root/.ssh/id_rsa. # 私钥
  8. Your public key has been saved in /root/.ssh/id_rsa.pub. # 公钥
  9. The key fingerprint is:
  10. 0f:d3:e7:1a:1c:bd:5c:03:f1:19:f1:22:df:9b:cc:08 root@host

2.安装公钥到服务端

  • 讲公钥安装到服务器

  
  1. [root@host ~]$ cd .ssh
  2. [root@host .ssh]$ cat id_rsa.pub >> authorized_keys
  • 设置权限

  
  1. [root@host .ssh]$ chmod 600 authorized_keys #不让其他用户写入 600 权限
  2. [root@host .ssh]$ chmod 700 ~/.ssh #读写执行的权限 700
  • ssh的配置文件都在/etc/ssh/ 里面

    
        
    1. [centos@localhost ~]$ cd /etc/ssh/
    2. [centos@localhost ssh]$ ls
    3. ssh_config #是客户单配置的
    4. sshd_config #是服务端配置的
  • sshd_config中配置使用RSA登录

    
        
    1. RSAAuthentication yes
    2. PubkeyAuthentication yes
    3. PermitRootLogin yes # 允许root用户通过ssh登录
    4. PasswordAuthentication no #不允许密码登录,只用使用私钥登录[一般我也用yes]
  • 最后服务端重启 ssh

    [root@host .ssh]$ service sshd restart
    
       

3.操作客户端

  • 3.1把服务端私钥复制到客户端,cat id_rsa,就是一下内容

  
  1. -----BEGIN RSA PRIVATE KEY-----
  2. Proc-Type: 4,ENCRYPTED
  3. DEK-Info: DES-EDE3-CBC,A757691CABE05419
  4. yvEX5nQY3+OeZ56kTt8i41YChrQgL9OwglA3SIU2ymrWvY+5IxXMOQbjJmoSFtRz
  5. Or0lB1eWZx8ZimGdG+y9KoN4AkUzX+HqzaC8/eMczrv2KXP6DpOvV6MTdHoBrTb8
  6. pJOSVzw1K1jmGPaCdWg3XJ7iNSdYr+FVHC6gmJhCCvSHjXLHYBseTSJNXzs4DpQr
  7. rTAnU1NXVt0ce3R7DCO/hGClS5zeQ7j7fpQ48cwBgNJumCcr5eU/TWlUMKm7Q8Za
  8. zLaugTg387qKaieFY6v8CvpqT4Oqt+j1+6B05sr2S4XiiWHdlcieG4fgSRc5I7kp
  9. EhzZWM2LdK6NtxkbWVzd0ZOu5dZDIaMykC2KJJwT+NW3yKZvN1iebm7jzLC3Pv1B
  10. dAqnzxMuwBVNbkvrmVWzi8+OvSfH3ttCoRVnshAAvPylBazAZpWn5k6f0QC8MkUQ
  11. AIEFex80xBPJTT+L6HuijrO2Z1K6qeWe+ptUAqX3FrcuneH1Nn3MnOhNVb4HZvk0
  12. xoy3/+2xe3sYKOUsMqjpWlI3DzGnZ81R8z1sTquRQy3hHDZ8cA6k1wUWoVTpJArb
  13. CLphYurek+YN3kFGLhvKnd6YjnH3d2sq/qSIMp4m3T8iBkex5raf4iNpFwKzb3S9
  14. D6QSWl9Nfnd2tAWkApXU4TPOcbX7XtX1P5yexyNxAZaUHuDsPStO/53WHfu8G2BP
  15. nM2Pefaj1sUcODLK+4JR+edmtA9rjHXVx7Kd3OKRmpocmzYWgEOQJtklr+cL7SJJ
  16. HzoKBjx0NB5/iW23KxSnj7gJhnrDbcD9wY5g63DuMsNnreMfk6trTbXe5ck/mfYN
  17. 6bTCXkVczm5Q8BKY0cJF2n/2dJyow9RFJtxDTzm11SvqdXtZoanC5mttePViu3J8
  18. 8dbNETFw0DwutyY3KPq3taX40Ps76Ahh6BTb5QD8ctxpYx63MOfQG/BrPFD9M6Al
  19. l5YLzi1In3hc0s6GN2yvx/fdjNZpYFgxA0GH66evtlo3HMr/Id8zgZ+ZSikHMXpv
  20. piXS4uBIgeCZeRaTbq/Bd2V2sN3ENQgV7UTVrnHDc5IWH+qpg8AZxnvmP6BBATNQ
  21. 2WAc6I10JqkrtfwjKuSYGyJmg6fY5uSKkZo9JQ1uviWEyhdKDhtYgStxyoIznrbJ
  22. E7PQ3iE3VanB0zmhJHdFJ9xsy5yggMSnRfLCmLsXrczJX0ALwtCDGrrAR3wAg1fn
  23. 7WmdUfyfnAugJGOBMx25vOLASL3q5zKoxEr7ayln51uuWRE2oK63low68lcWt42a
  24. S/ozMsev6Wg7QQjg7HRYEavYZGmCv9OBAblOmneUQjajT2F6zY1R4Cajkk3XmBO2
  25. GHXJ685hTiBMQsGf81NMtGd2Zkd5jbcHYhfOe1TKRhgp9cxtzKuyzD2Hj5Bltw8P
  26. q26JVqhLAXZpy73kVsCpU8KplyvZM349kM+VwzOwvvuoWuS+pi9iYYv2f4CjDWZ4
  27. dfzg30+ekEc2QTwsZrYbG8SyIOn4oZSE+ygFNge/o2ftqwpRSwJhV8sUlrhBHQb/
  28. plePpQQfRQlnifiqR/z2JQ4y28purVt5GKPuwsK4SpHCQTpXW3OkdA==
  29. -----END RSA PRIVATE KEY-----
  • 把里面的内容复制(这个是我的)自己的文件下

  
  1. 1.你也可以把服务端的id_rsa 下载到你的客户端,放在当前用户的.ssh目录下
  2. 2.也可以复制里面的内容然后再.ssh目录下,重新创建一个id_rsa
  3. vi ~/.ssh/id_rsa # 创建私钥

4.直接可以登录了【然后就会发现问题】


  
  1. ✘ mac@MacBook-Air ~/.ssh ssh centos@192.168.1.112
  2. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  3. @ WARNING: UNPROTECTED PRIVATE KEY FILE! @
  4. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  5. Permissions 0644 for '/Users/mac/.ssh/id_rsa' are too open.
  6. It is required that your private key files are NOT accessible by others.
  7. This private key will be ignored.
  8. Load key "/Users/mac/.ssh/id_rsa": bad permissions
  9. centos@192.168.1.112's password:
  10. # 遇到这个问题一般就是权限问题 赋权700 ,然后就ok了
  11. mac@MacBook-Air ~/.ssh chmod 700 id_rsa
  12. mac@MacBook-Air ~/.ssh ssh centos@192.168.1.112
  13. Enter passphrase for key '/Users/mac/.ssh/id_rsa':
  14. Last login: Sun Feb 19 12:56:05 2017 from 192.168.1.113

B.设置安全端口

  • 默认使用22端口,这个在etc/ssh/ssh_config 就可以看到

我们可以不使用22端口,此时我们可以在服务器重新创建一个端口,然后使用防火墙屏蔽其他端口

  • 开启端口

    • 开启一个10222端口

      
            
      1. /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT #写入修改
      2. /etc/init.d/iptables save #保存修改
      3. service iptables restart #重启防火墙,修改生效

  • 然后可以查看一下端口状态

    • 查看的时候一定要用root用户,否则查看不到的,所以我切换了10222 端口连接
    • 端口的知识属于计算机的基础知识,如果你能看到这里,说明你的基础已经够了,不过下面我会专门写一篇关于底层的计算机的文章。

  
  1. [centos@localhost ssh]$ su root
  2. 密码:
  3. [root@localhost ssh]# /etc/init.d/iptables status
  4. 表格:filter
  5. Chain INPUT (policy ACCEPT)
  6. num target prot opt source destination
  7. 1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:10222
  8. 2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:10222
  9. 3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
  10. 4 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
  11. 5 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
  12. 6 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
  13. 7 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
  14. Chain FORWARD (policy ACCEPT)
  15. num target prot opt source destination
  16. 1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
  17. Chain OUTPUT (policy ACCEPT)
  18. num target prot opt source destination
  • 服务端在/etc/ssh/sshd_config 中监听10222端口,然后就可以使用
ssh -p 10222 centos@192.168.1.112 

 

文章来源: springlearn.blog.csdn.net,作者:西魏陶渊明,版权归原作者所有,如需转载,请联系作者。

原文链接:springlearn.blog.csdn.net/article/details/102425266

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。