ssh免密登陆

两台主机间免密操作

很多时候,我们都需要ssh免密操作,因为shell脚本中无法输入密码

ssh登陆、scp文件传输等都需要免密。

总之,如果主机A需要在主机B执行命令,就必须登陆主机B,这时候,我们可以通过配置,让主机A的某个用户可以免密登陆主机B,这样就可以了。

登陆------->执行命令或脚本

例子:
在主机A上进行scp文件传输,不论是本地传给远程,还是远程传输到本地,都需要远程主机B的密码,这时候,我们就可以通过配置免密,使得我们可以做到A->B和B<-A的文件传输都不需要远程主机B的密码。

这里写图片描述

ssh登陆流程

ssh中,主机A发送登陆请求的时候,会将公钥也带去,当主机B收到主机A的远程登陆请求的时候,去查看登陆用户所在家目录的.ssh/authorized_keys文件,如果当前的登陆请求的公钥在这个文件中,就不去验证密码,直接登陆成功。如果不存在,就去验证密码的正确性。

这里写图片描述

所以,通过上图我们清楚的知道,想要用户Tom在主机A中免密登陆主机B,
只要在A总生成公钥,然后放到B的/home/tom/.ssh/authorized_keys目录即可。

1.生成公钥和私钥

输入ssh-keygen -t rsa -P ''然后回车,生成公钥和私钥,结果如下:

ssh-keygen -t rsa -P ''

Generating public/private rsa key pair.
Enter file in which to save the key (/home/hjs/.ssh/id_rsa): 
Created directory '/home/hjs/.ssh'.
Your identification has been saved in /home/hjs/.ssh/id_rsa.
Your public key has been saved in /home/hjs/.ssh/id_rsa.pub.
The key fingerprint is:
f4:99:87:a1:06:8b:5a:7d:f1:88:b3:34:27:6c:94:4e hjs@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|       .         |
|      E o .      |
|     B = * =     |
|    o % S * .    |
|   o o O   .     |
|  .   .          |
|                 |
|                 |
+-----------------+

看到已经生成两个文件:

id_rsa         id_rsa.pub

id_rsa是私钥、id_rsa.pub是公钥

-P表示密码,-P ” 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。如果原来的~/.ssh文件夹已经存在,回车后要输入y,以确认重新生成公钥和私钥。

2.公钥放到远程主机

scp .ssh/id_rsa.pub hjs@8.8.8.8:/home/hjs/id_rsa.pub

The authenticity of host '8.8.8.8 (8.8.8.8)' can't be established.
ECDSA key fingerprint is 1b:ec:cf:4c:06:15:1b:8e:27:75:6d:9e:6e:66:f7:6f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '8.8.8.8' (ECDSA) to the list of known hosts.
hjs@8.8.8.8's password: 
id_rsa.pub   

现在就可以ssh、scp操作就可以免去远程主机B的密码了

参考文献:
http://chenlb.iteye.com/blog/211809

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值