配置秘钥连接两台虚拟机的过程可以分为以下步骤:
-
在本地主机上生成一对公钥和私钥。
-
将公钥复制到需要连接的虚拟机上。
-
在虚拟机上将公钥添加到authorized_keys文件中。
-
在本地主机上使用ssh命令连接虚拟机,可以直接使用私钥文件进行连接,无需输入密码。
具体步骤如下:
- 在本地主机上生成一对公钥和私钥。
可以使用以下命令生成公钥和私钥,其中-t
选项指定密钥类型,-C
选项指定注释,-f
选项指定生成的密钥文件名:
$ ssh-keygen -t rsa -C "your-email@example.com" -f ~/.ssh/id_rsa_vm
执行该命令后,会在~/.ssh/
目录下生成两个文件:id_rsa_vm
和id_rsa_vm.pub
,分别为私钥和公钥。
- 将公钥复制到需要连接的虚拟机上。
可以使用以下命令将公钥复制到虚拟机上,其中-i
选项指定私钥文件,user@vm_ip
为虚拟机的用户名和IP地址:
$ ssh-copy-id -i ~/.ssh/id_rsa_vm.pub user@vm_ip
执行该命令后,需要输入虚拟机的密码完成复制。
- 在虚拟机上将公钥添加到authorized_keys文件中。
可以使用以下命令将公钥添加到虚拟机的authorized_keys
文件中,其中~/.ssh/id_rsa_vm.pub
为本地主机的公钥文件名:
$ cat ~/.ssh/id_rsa_vm.pub >> ~/.ssh/authorized_keys
- 在本地主机上使用ssh命令连接虚拟机,可以直接使用私钥文件进行连接,无需输入密码。
可以使用以下命令连接虚拟机,其中-i
选项指定私钥文件,user@vm_ip
为虚拟机的用户名和IP地址:
$ ssh -i ~/.ssh/id_rsa_vm user@vm_ip
以下是两个示例说明:
示例1:
本地主机IP:192.168.1.100
虚拟机1 IP:192.168.1.101
虚拟机2 IP:192.168.1.102
步骤1:
在本地主机上生成一对公钥和私钥:
$ ssh-keygen -t rsa -C "user@192.168.1.100" -f ~/.ssh/id_rsa_vm
步骤2:
将公钥复制到需要连接的虚拟机上:
$ ssh-copy-id -i ~/.ssh/id_rsa_vm.pub user@192.168.1.101
$ ssh-copy-id -i ~/.ssh/id_rsa_vm.pub user@192.168.1.102
步骤3:
在虚拟机上将公钥添加到authorized_keys文件中:
$ cat ~/.ssh/id_rsa_vm.pub >> ~/.ssh/authorized_keys
步骤4:
在本地主机上使用ssh命令连接虚拟机,可以直接使用私钥文件进行连接:
$ ssh -i ~/.ssh/id_rsa_vm user@192.168.1.101
$ ssh -i ~/.ssh/id_rsa_vm user@192.168.1.102
示例2:
本地主机IP:192.168.0.100
虚拟机1 IP:192.168.0.101
虚拟机2 IP:192.168.0.102
步骤1:
在本地主机上生成一对公钥和私钥:
$ ssh-keygen -t rsa -C "user@192.168.0.100" -f ~/.ssh/id_rsa_vm
步骤2:
将公钥复制到需要连接的虚拟机上:
$ ssh-copy-id -i ~/.ssh/id_rsa_vm.pub user@192.168.0.101
$ ssh-copy-id -i ~/.ssh/id_rsa_vm.pub user@192.168.0.102
步骤3:
在虚拟机上将公钥添加到authorized_keys文件中:
$ cat ~/.ssh/id_rsa_vm.pub >> ~/.ssh/authorized_keys
步骤4:
在本地主机上使用ssh命令连接虚拟机,可以直接使用私钥文件进行连接:
$ ssh -i ~/.ssh/id_rsa_vm user@192.168.0.101
$ ssh -i ~/.ssh/id_rsa_vm user@192.168.0.102
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:linux怎么配置秘钥连接两台虚拟机? - Python技术站