【Python自动化管理】
2021-07-01 本文已影响0人
西布鲁克
使用SSH协议访问远程服务器
SSH(Secure Shell)是一种由IETF的网络工作小组制定、创建在应用层和传输层基础上的安全协议,为计算机上的Shell提供安全的传输和使用环境。
SSH协议
SSH除了提供安全的传输和登录以外,还可以进行批量命令执行。
使用密钥登录远程服务器
远程登录Linux服务器,默认采用密码认证的方式,另外一种应用更广泛、更安全也更方便的方式是使用密钥认证登录。密钥认证的原理如下:
- 使用密钥登录时,远程服务器向用户发送一段随机字符串
- 客户端SSH服务使用用户的私钥加密该字符串后发送给远程服务器
- 远程服务器再使用事先存储的公钥对加密字符串进行解密
- 如果解密成功,说明客户端可信,允许客户端直接登录
生成密钥的步骤如下:
- 客户端执行密钥生成命令
ssh-keygen -t rsa
ssh-keygen执行完以后,用户的~/.ssh目录下会存在一个名为id_rsa的私钥文件与一个名为id_rsa.pub的公钥文件。
- 将公钥文件id_rsa.pub文件上传到远程服务器,并讲文件内容保存到服务器端~/.ssh/authorized_keys中(没有authorized_keys文件可以手工新建)
cat id_rsa.pub >> authorized_keys
- 在客户端执行ssh命令重新登录验证
ssh root@xxx.xxx.xxx.xxx