前言
项目中需要编写脚本在服务器之间上传或者下载文件,但没有相关服务器来测试脚本,于是就着手安装两台server,然后用ssh的相关命令去配置server之间公钥认证登录。
步骤
1. 在VM Box下面安装两台Linux Server,并且都选用了桥接的网络类型,这样两台server会有自己独立的IP
2. 当前server上使用ssh命令去连接另外一台server,由于公钥认证登录还没有配置,这时候是需要输入password才可以登录
命令: ssh [user]@[hostname|ip]
例子: ssh ftpiosh@192.168.1.53
a. 由于是首次连接,系统会提示是否继续连接
b. 输入yes后,系统会提示输入password,同时会在当前用户的家目录下面自动创建.ssh目录,然后在此目录下面创建know_hosts文件来存储目标server的信息
c. 输入password以后,就连接到目标server,可以使用命令ls -al来查看内容
d. 使用exit命令来断开连接
3. 配置公钥认证登录,首先要使用ssh-keygen命令去创建当前server的公钥和私钥
命令: ssh-keygen
系统会提示输入秘钥存储的目录和秘钥名,如果不想输入,就按Enter,系统会使用默认的目录和秘钥名
默认目录和秘钥名:/home/ftpiosh/.ssh/id_rsa,/home/ftpiosh/.ssh/id_rsa.pub,一个公钥和一个私钥
4. 使用ssh-copy-id命令复制当前server的公钥到目标server的相应目录
命令:ssh-copy-id [user]@[host name|ip]
例子:ssh-copy-id ftpiosh@192.168.1.53
a. 系统提示输入密码,输入密码后,回显示一个key添加成功
b. 目标server查看公钥内容
公钥存储在/home/ftpiosh/.ssh/authorized_keys文件中
5. 验证公钥认证登录
命令: ssh [user]@[hostname|ip]
例子: ssh ftpiosh@192.168.1.53
系统会直接登录,不需要输入password
以上纯属个人观点,如有不对之处,请指正!