SSH免密码登录方法

来源:互联网 发布:商业数据 200年历史 编辑:程序博客网 时间:2024/05/08 01:20

1.RSA加密的方法
假设有两台服务器A和B,A如何免密码访问B服务器
首先,在A上创建密钥对。
#ssh-keygen  三次回车,不输入密钥对名字使用默认的,不输入密码
>>会在/root/.ssh 目录下生成两个文件,id_rsa 和id_rsa.pub
-------------------------------------
#cp /root/.ssh/id_rsa.pub root@B服务器:/root/.ssh
>>复制公钥到B服务器

然后,将公钥加入到B的/root/.ssh/authorized_keys 
#cat id_rsa.pub >>authorized_keys 
-------------------------------------
这一步其实就是openstack 命令启动虚拟机注入的过程,前提是要先把生成的
最后,可以A直接ssh到B主机了。

#密钥对认证方式是,在有公钥的主机上,你必须要有与公钥匹配的私钥才能登录,如果没有 你只能通过密码认证。
这就是解释,为啥可以免密码登录 不能输入加密密码 否则公钥认证还是需要加密的密码



如果不行用root用户跟踪/var/log/message日志,看是否要更改权限
chmod 600 authorized_keys

2.shell脚本登录
#!/usr/bin/expect
set timeout 300
spawn ssh -l root 10.1.1.56
expect "passwo'r'd"
send "123"
intact


确认是否安装了expect   expect 只有在expect内部模式下才能使用,spawn和intact是语法上的组合  有点像while  done。






0 0
原创粉丝点击