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

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

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

  • 密钥登录原理:

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

A.使用私钥登录

1.制作密钥对

  • 首先在服务器制作,需要的登录账户,然后执行以下命令
[root@host ~]$ ssh-keygen   #建立密钥对
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): #按 Enter
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):  # 输入密钥锁码,或直接按 Enter 留空
Enter same passphrase again: # 再输入一遍密钥锁码
Your identification has been saved in /root/.ssh/id_rsa. # 私钥
Your public key has been saved in /root/.ssh/id_rsa.pub. # 公钥
The key fingerprint is:
0f:d3:e7:1a:1c:bd:5c:03:f1:19:f1:22:df:9b:cc:08 root@host

2.安装公钥到服务端

  • 讲公钥安装到服务器
[root@host ~]$ cd .ssh
[root@host .ssh]$ cat id_rsa.pub >> authorized_keys
  • 设置权限
[root@host .ssh]$ chmod 600 authorized_keys  #不让其他用户写入 600 权限
[root@host .ssh]$ chmod 700 ~/.ssh           #读写执行的权限 700
  • ssh的配置文件都在/etc/ssh/ 里面

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

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

    [root@host .ssh]$ service sshd restart
    

3.操作客户端

  • 3.1把服务端私钥复制到客户端,cat id_rsa,就是一下内容
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,A757691CABE05419

yvEX5nQY3+OeZ56kTt8i41YChrQgL9OwglA3SIU2ymrWvY+5IxXMOQbjJmoSFtRz
Or0lB1eWZx8ZimGdG+y9KoN4AkUzX+HqzaC8/eMczrv2KXP6DpOvV6MTdHoBrTb8
pJOSVzw1K1jmGPaCdWg3XJ7iNSdYr+FVHC6gmJhCCvSHjXLHYBseTSJNXzs4DpQr
rTAnU1NXVt0ce3R7DCO/hGClS5zeQ7j7fpQ48cwBgNJumCcr5eU/TWlUMKm7Q8Za
zLaugTg387qKaieFY6v8CvpqT4Oqt+j1+6B05sr2S4XiiWHdlcieG4fgSRc5I7kp
EhzZWM2LdK6NtxkbWVzd0ZOu5dZDIaMykC2KJJwT+NW3yKZvN1iebm7jzLC3Pv1B
dAqnzxMuwBVNbkvrmVWzi8+OvSfH3ttCoRVnshAAvPylBazAZpWn5k6f0QC8MkUQ
AIEFex80xBPJTT+L6HuijrO2Z1K6qeWe+ptUAqX3FrcuneH1Nn3MnOhNVb4HZvk0
xoy3/+2xe3sYKOUsMqjpWlI3DzGnZ81R8z1sTquRQy3hHDZ8cA6k1wUWoVTpJArb
CLphYurek+YN3kFGLhvKnd6YjnH3d2sq/qSIMp4m3T8iBkex5raf4iNpFwKzb3S9
D6QSWl9Nfnd2tAWkApXU4TPOcbX7XtX1P5yexyNxAZaUHuDsPStO/53WHfu8G2BP
nM2Pefaj1sUcODLK+4JR+edmtA9rjHXVx7Kd3OKRmpocmzYWgEOQJtklr+cL7SJJ
HzoKBjx0NB5/iW23KxSnj7gJhnrDbcD9wY5g63DuMsNnreMfk6trTbXe5ck/mfYN
6bTCXkVczm5Q8BKY0cJF2n/2dJyow9RFJtxDTzm11SvqdXtZoanC5mttePViu3J8
8dbNETFw0DwutyY3KPq3taX40Ps76Ahh6BTb5QD8ctxpYx63MOfQG/BrPFD9M6Al
l5YLzi1In3hc0s6GN2yvx/fdjNZpYFgxA0GH66evtlo3HMr/Id8zgZ+ZSikHMXpv
piXS4uBIgeCZeRaTbq/Bd2V2sN3ENQgV7UTVrnHDc5IWH+qpg8AZxnvmP6BBATNQ
2WAc6I10JqkrtfwjKuSYGyJmg6fY5uSKkZo9JQ1uviWEyhdKDhtYgStxyoIznrbJ
E7PQ3iE3VanB0zmhJHdFJ9xsy5yggMSnRfLCmLsXrczJX0ALwtCDGrrAR3wAg1fn
7WmdUfyfnAugJGOBMx25vOLASL3q5zKoxEr7ayln51uuWRE2oK63low68lcWt42a
S/ozMsev6Wg7QQjg7HRYEavYZGmCv9OBAblOmneUQjajT2F6zY1R4Cajkk3XmBO2
GHXJ685hTiBMQsGf81NMtGd2Zkd5jbcHYhfOe1TKRhgp9cxtzKuyzD2Hj5Bltw8P
q26JVqhLAXZpy73kVsCpU8KplyvZM349kM+VwzOwvvuoWuS+pi9iYYv2f4CjDWZ4
dfzg30+ekEc2QTwsZrYbG8SyIOn4oZSE+ygFNge/o2ftqwpRSwJhV8sUlrhBHQb/
plePpQQfRQlnifiqR/z2JQ4y28purVt5GKPuwsK4SpHCQTpXW3OkdA==
-----END RSA PRIVATE KEY-----
  • 把里面的内容复制(这个是我的)自己的文件下
1.你也可以把服务端的id_rsa 下载到你的客户端,放在当前用户的.ssh目录下
2.也可以复制里面的内容然后再.ssh目录下,重新创建一个id_rsa

vi ~/.ssh/id_rsa # 创建私钥

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

✘  mac@MacBook-Air ~/.ssh ssh centos@192.168.1.112
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/Users/mac/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/Users/mac/.ssh/id_rsa": bad permissions
centos@192.168.1.112's password:

# 遇到这个问题一般就是权限问题 赋权700 ,然后就ok了
 mac@MacBook-Air ~/.ssh chmod 700 id_rsa
 mac@MacBook-Air ~/.ssh ssh centos@192.168.1.112
Enter passphrase for key '/Users/mac/.ssh/id_rsa':
Last login: Sun Feb 19 12:56:05 2017 from 192.168.1.113

B.设置安全端口

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

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

  • 开启端口

    • 开启一个10222端口

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

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

    • 查看的时候一定要用root用户,否则查看不到的,所以我切换了10222 端口连接
    • 端口的知识属于计算机的基础知识,如果你能看到这里,说明你的基础已经够了,不过下面我会专门写一篇关于底层的计算机的文章。
[centos@localhost ssh]$ su root
密码:
[root@localhost ssh]# /etc/init.d/iptables status
表格:filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:10222
2    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:10222
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
4    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
5    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
6    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
7    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination
1    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination
  • 服务端在/etc/ssh/sshd_config 中监听10222端口,然后就可以使用
ssh -p 10222 centos@192.168.1.112 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容

  • 1、远程连接服务器 远程连接服务器对于管理员来说,是一个很有用的操作。它使得对服务器的管理更为方便。不过方便归方便...
    Zhang21阅读 39,480评论 0 20
  • SSH是安全的远程登录,使用SSH v2的协议版本,基于DH算法做密钥交换,基于RSA或DSA实现身份认证。SSH...
    Yi_Feng阅读 1,117评论 0 1
  • CA和证书安全协议(SSL/TLS)OpenSSH 一、CA和证书 (一) PKI(Public Key Infr...
    哈喽别样阅读 1,381评论 0 0
  • 原文链接:提高Linux服务器安全欢迎访问我的博客 虽然Linux已经很安全了,但是如果密码设置的不够复杂,如果说...
    tikyle阅读 1,296评论 4 26
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,585评论 18 139