操作步骤:
-
客户端【Mac电脑】生成公私钥:
ssh-keygen -t rsa (连续三次回车即可,无需要设置密码)
-
连接服务端【iPhone手机】:
ssh root@服务端ip (也可以使用usb连接手机)
-
找到并进入服务端上的.ssh目录:
cd ~/.ssh mkdir .ssh (若没有,则创建文件目录)
-
设置文件目录的权限:
chmod 700 .ssh (必须将.ssh的权限设为700,或者755)
-
拷贝客户端公钥即id_rsa.pub到服务端目录.ssh:
scp ~/.ssh/id_rsa.pub root@192.168.39.168:.ssh/id_rsa.pub 或 ssh-copy-id root@服务器地址 (此时需要输入密码alpine)
-
找到服务端.ssh目录下的authorized_keys文件
touch authorized_keys (若没有,则创建文件) chmod 600 authorized_keys (给600权限)
-
将公钥内容追加到authorized_keys文件:
cat id_rsa.pub >> authorized_keys (可通过`cat`命令查看)
原理
- 即使用公钥登录,所谓的公钥登录,即前期登录成功,原理如下:
- 客户端【Mac电脑】将自己的公钥发给远程的服务端【iPhone手机】
- 服务端随机生成一段字符串,发给客户端
- 客户端利用私钥将手机发来的字符串加密
- 服务端利用公钥解密字符串