新建服务器需要使用ssh远程连接的服务器的时配置公私钥。或者mac安装virtual box虚拟机后界面太小无法调整。可以使用此方法直接在mac终端使用。
1、查看之前公私钥
在Mac
上打开terminal
。进入到~/.ssh
目录。ls
查看当前目录中所有的公私钥。
//进入/.ssh目录
cd ~/.ssh
//查看当前目录下所有有的公私钥
ls
//如果已经有id_rsa、 id_rsa.pub,创建时注意名称是否重复,不然会覆盖之前所创建的。
2、创建公私钥
$ ssh-keygen -t rsa -C "email@example.com"
代码参数的意义
-
-t
指定密钥类型,默认rsa
,可以省略 -
-C
设置注释文字例如邮箱 -
-f
指定密钥文件存储文件名
省略-f
参数运行后会让输入文件名称。
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/mac/.ssh/id_rsa):
之后,会提示输入密码,输入密码后,以后每次都要输入密码。如果不需要密码,直接回车。
The key's randomart image is:
+---[RSA 3072]----+
|.o o |
| .*. + . |
| ooo. o ..o |
|.. ... +*o. |
| Eo. +.=S+= |
|.o ++.*. + |
|o ooo+ o |
|..o...o= |
|o. ..+Oo |
+----[SHA256]-----+
mac@macdeMacBook-Pro .ssh %
此时ssh-key公私钥创建完成。
3、将创建的公钥上传
ssh-copy-id -i [公钥文件名] user@host
# user是你ssh的用户,host是服务器地址,这时候还要输入密码。
# 例子:ssh-copy-id -i id_rsa.pub root@1.1.1.1
需要添加端口号的:-p 1234
ssh-copy-id -i /Users/mac/.ssh/id_rsa_.pub -p 1234 root@1.1.1.1
4、ssh-add
一般到第三步就可以免密登录,但是mac还需要ssh-add
私钥,不带.pub
的那个。
ssh-add -K id_rsa
四个步骤执行完成就可以免密登录了。
Mac 配置多个公私钥
在~/.ssh
目录下配置config
文件
使用命令
vim config
编辑config
文件
Host 名称(方便连接使用)
HostName 服务器ip地址
User 登录用户名
Port 主机端口 默认22
IdentityFile /Users/mac/.ssh/id_rsa #自己生成的私钥的文件路径
例:
Host bd
HostName 1.1.1.1
Port 1234
User bd
IdentityFile ~/.ssh/id_rsa
Host bd
HostName 1.1.1.1
Port 1234
User bd
IdentityFile ~/.ssh/id_rsa
到此可以在终端使用ssh bd
进行连接了。