脚本---免密码登陆练习

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  ## 测试.ssh目录文件是否存在,否则创建之
  826  [ -d ~/.ssh ] || mkdir -m 600 ~/.ssh
   
  ## 查看权限
  827  ls -dl ~/.ssh
   
  ## 获取文件名
  # fgrep "auth" /etc/ssh/sshd_config
   
  ## 查看authorized_keys是否存在,否则创建之
  828  [ -f ~/.ssh/authorized_keys ] || touch ~/.ssh/authorized_keys
   
  ## 设定其权限
  829  chmod 0600 ~/.ssh/authorized_keys
   
  ## 查看权限
  830  ls -l ~/.ssh/authorized_keys
   
  ## IO重定向追加至文件中(公钥在远程主机,私钥在本地主机。远程利用公钥加密一个数据,看本地主机能否解密,能则通过登陆系统。否则,....)
  831  echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAGEAp9S/ev+YWkiEnAO6mziN2JOO21YbHK0I2fHwaIFW83OMFAWk9Bc+Kv0F6WkZ8ZW0dfgU0iv0W0SzJAc8gsedE6e1R3ALr7oEfhhvGk8+3/Bb22Ml2GqRgPJo8htOUvx5" >> ~/.ssh/authorized_keys
   
  ## 查看文件中的内容 
  832  cat ~/.ssh/authorized_keys


脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/bash
# Version: 0.0.12
# Author: Lcc.org
# Description: Small toys
 
[ -d ~/.ssh ] || install -d -m 700 ~/.ssh
[ -f ~/.ssh/authorized_keys ] || touch ~/.ssh/authorized_keys
 
Perm=$(ls -l ~/.ssh/authorized_keys cut -d ' ' -f1)
"$Perm" != "-rw-------" ] && chmod  0600 ~/.ssh/authorized_keys
 
read -p "Enter a pubkey: " pubKey
 
[ -n "$pubKey" ] && [[ "$pubKey" =~ ^ssh-rsa.*AAAA ]] && echo "$pubKey" >> ~/.ssh/authorized_keys


公钥来源:

    1、本地主机上生成公钥和私钥,将公钥追加至远程主机的 ~/.ssh/authorized_keys文件中

    2、非本地生成公钥和私钥,将公钥追加至远程主机的 ~/.ssh/authorized_keys文件中,私钥放于本地


生成密钥方法:

    1、本地

    2、linux主机


linux主机:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
ssh-keygen [OPTIONS...]
 -b bits  指定密钥长度。对于RSA密钥,768,1024,2048,4096,8192
-f filename  指定密钥文件名。
-t type  指定要创建的密钥类型。可以使用:"rsa1"(SSH-1) "rsa"(SSH-2) "dsa"(SSH-2)
-P passphrase  对私钥加密
 
1、生成密钥
[root@localhost ~]# ssh-keygen -b 768 -f /tmp/primarykey -t rsa -P ''
Generating public/private rsa key pair.
Your identification has been saved in /tmp/primarykey.
Your public key has been saved in /tmp/primarykey.pub.
The key fingerprint is:
00:4f:93:1c:d5:99:cb:b6:10:d8:4d:71:62:3e:bb:80 root@localhost.localdomain
The key's randomart image is:
+--[ RSA  768]----+
|    ..+*.+=+.    |
|     ++.oo=o     |
|      o  oo.     |
|       o. +o     |
|      E So..     |
|         ...     |
|          .      |
|                 |
|                 |
+-----------------+
 
2、查看
[root@localhost ~]# ls /tmp/primarykey*
/tmp/primarykey  /tmp/primarykey.pub
 
3、导入公钥至~/.ssh/authorized_keys
[root@localhost ~]# cat /tmp/primarykey.pub >> ~/.ssh/authorized_keys 
 
4、将私钥导入至本地主机
 
5、登陆









本文转自 lccnx 51CTO博客,原文链接:http://blog.51cto.com/sonlich/1955070,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值