ssh 免密登录的原理是在本机生成本机的 ssh 公钥和私钥,将公钥上传至待连接的主机,本机通过私钥进行 ssh 连接实现免密登录。
# ssh上传(复制)命令
# ssh-copy-id格式:ssh-copy-id -i 私钥 远程主机用户名@远程主机IP
# ssh-copy-id命令示例
ssh-copy-id -i ~/.ssh/id_liupp root@192.168.8.187
复制代码
# ssh登录
# 命令格式: ssh -i 私钥 远程主机用户名@远程主机IP
# ssh登录示例:
ssh -i ~/.ssh/id_liupp root@192.168.8.187
复制代码
关于这两个命令的具体用法可以通过搜索引擎查询.
回车后仍然提示输入密码,通过搜索引擎查询,得出的结果是 mac 系统下需要使用“ssh-add”命令将私钥添加至 ssh-agent 高速缓存:
# ssh-add 命令格式
# ssh -add -K 私钥
# 示例:
ssh -add -K ~/.ssh/id_liupp
但输入后提示:
WARNING: The -K and -A flags are deprecated and have been replaced
by the --apple-use-keychAIn and --apple-load-keychain
flags, respectively. To suppress this warning, set the
environment variable APPLE_SSH_ADD_BEHAVIOR as described in
the ssh-add(1) manual page.
复制代码
释义为-K 参数对于 Mac 来说已经过期,需要将“-K”参数换成“–apple-use-keychain”:
# ssh-add 命令格式
# ssh -add -K 私钥
# 示例:
ssh-add --apple-use-keychain ~/.ssh/id_liupp
复制代码
添加成功后再在终端执行 “ssh root@IP”即可实现免密登录。
评论