Ansible--通过SSH与远程服务器连接
2017-07-24 15:27
766 查看
钩子:
SSH原理与运用(一):远程登录
为了避免Ansible下发指令时输入目标主机密码,通过证书签名达到SSH无密码是一个好的方案,推荐使用ssh-keygen与ssh- copy-id(scp)来实现快速证书的生成和公钥下发,其中ssh-keygen生成一对密钥,使用ssh-copy-id(scp)来下发生成的公钥。下面以A服务器与B服务器双向实现免密码登录和拷贝文件为例,介绍相关的配置。
A服务器地址:192.168.33.44,下面简称A
(主控端)
B服务器地址:192.168.33.55,下面简称B(被控端)
由于是用Vagrant做测试,所以以下都是在用户vagrant下做测试:
1. 在A生成密钥对
2.拷贝A的公钥(id_rsa.pub)到B
这里拷贝到B的vagrant用户.ssh目录下为例:
拷贝A的id_rsa.pub内容到.ssh目录下的authorized_keys文件中
由于本地用户名vagrant与远程用户名vagrant一致,登录时可以省略用户名:
实现B免密码登录A,操作方式是一样的,在B中用ssh-keygen生成ssh密钥对,将公钥拷贝到A中,A将B的公钥拷贝到.ssh目录下的authorized_keys文件中即可。
SSH原理与运用(一):远程登录
为了避免Ansible下发指令时输入目标主机密码,通过证书签名达到SSH无密码是一个好的方案,推荐使用ssh-keygen与ssh- copy-id(scp)来实现快速证书的生成和公钥下发,其中ssh-keygen生成一对密钥,使用ssh-copy-id(scp)来下发生成的公钥。下面以A服务器与B服务器双向实现免密码登录和拷贝文件为例,介绍相关的配置。
A服务器地址:192.168.33.44,下面简称A
(主控端)
B服务器地址:192.168.33.55,下面简称B(被控端)
由于是用Vagrant做测试,所以以下都是在用户vagrant下做测试:
1. 在A生成密钥对
ssh-keygen -t rsa -P ''在当前登录用户的home目录下的.ssh目录下生成id_rsa和id_rsa.pub两个文件,分别代表密钥对的私钥和公钥。
2.拷贝A的公钥(id_rsa.pub)到B
这里拷贝到B的vagrant用户.ssh目录下为例:
scp /home/vagrant/.ssh/id_rsa.pub:~/.ssh/id_rsa.pub.44v vagrant@192.168.33.553. 登录B
拷贝A的id_rsa.pub内容到.ssh目录下的authorized_keys文件中
cat id_rsa.pub.44v >> authorized_keys (更暴力的处理方法是: cat id_rsa* >> authorized_keys)4. 此时在A中用SSH登录B或向B拷贝文件,将不需要密码
ssh vagrant@192.168.1.201 scp abc.txt vagrant@192.168.33.55:/home
由于本地用户名vagrant与远程用户名vagrant一致,登录时可以省略用户名:
ssh host
实现B免密码登录A,操作方式是一样的,在B中用ssh-keygen生成ssh密钥对,将公钥拷贝到A中,A将B的公钥拷贝到.ssh目录下的authorized_keys文件中即可。
相关文章推荐
- ssh命令通过制定端口连接远程服务器
- Mac OS系统通过ssh远程连接服务器或VPS,类似window上的putty
- pgcli通过SSH本地转发连接远程服务器上的PostgreSQL DB
- Java通过ssh连接到Linxu和Windos服务器远程启动Tomcat
- 用本地linux通过ssh连接远程服务器
- sqlalchemy通过ssh连接远程mysql服务器
- Ubuntu通过SSH远程登录服务器建立登陆用户与连接
- 通过SecureCRT SSH远程连接服务器并使用Zmodem传送文件
- linux通过putty,SSH连接远程服务器
- 用本地linux通过ssh连接远程服务器
- php通过SSH连接服务器并远程保存文件
- mac 通过 终端 ssh 远程连接 centos 服务器
- mac 通过 终端 ssh 远程连接 centos 服务器
- pgcli通过SSH本地端口转发连接远程服务器上的PostgreSQL DB
- [服务器学习]二:使用Xshell 5通过SSH远程连接EC2实例
- 在mac下使用终端命令通过ssh协议连接远程linux系统,代替windows的putty
- Linux下通过SSH实现远程连接
- 新人学ruby---通过ruby的net-ssh链接远程的服务器
- Navicat for MySQL通过ssh桥接连接远程数据库
- 使用mac自带ssh连接远程服务器