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

简介:
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,如需转载请自行联系原作者
目录
相关文章
|
网络安全 数据安全/隐私保护
ssh远程执行命令自动输入密码方式
ssh远程执行命令自动输入密码方式
2342 0
|
弹性计算 监控 Ubuntu
Ubuntu的SSH安全配置,查看SSH登录日志文件,修改默认端口,UFW配置防火墙,禁止root用户登录,禁用密码登陆,使用RSA私钥登录,使用 Fail2ban 工具,使用两步验证(2FA)
Ubuntu的SSH安全配置,查看SSH登录日志文件,修改默认端口,UFW配置防火墙,禁止root用户登录,禁用密码登陆,使用RSA私钥登录,使用 Fail2ban 工具,使用两步验证(2FA)
2416 0
快速打开host文件脚本(以管理员身份执行)
快速打开host文件脚本(以管理员身份执行)
330 0
|
数据安全/隐私保护
通过VBS编写自动输入账号和密码、自动登录程序的脚本
通过VBS编写自动输入账号和密码、自动登录的脚本。 请查看附件: 附件中是以QQ为例。 这个脚本的好处是: 1、可以用于开机自动登录 2、可以用于运维人员自动登录一些程序 3、可以用于......
3420 0
|
分布式计算 Linux 网络安全
Hadoop集群最迅速的配置免密码登陆方法
1:多台机器互相免密登陆的思路(默认你的linux操作系统已经安装好ssh): 第一步:在各自的机器上面生成密钥:   在第1台机器上生产一对钥匙: ssh-keygen -t rsa   在第2台机器上生产一对钥匙: ssh-keygen -t rsa   在第3台机器上生产一对钥匙: ssh-keygen -t rsa   .
1266 0
|
Shell 网络安全 数据安全/隐私保护