-
将客户端的用户密匙 ~/.ssh/id_rsa.pub 文本内容复制到服务端的 ~/.ssh/authorized_keys
-
将服务端 ~/.ssh/authorized_keys 改权限为600
这样从客户端ssh登录到服务端可以免密
# 实现从客户端连接服务端免密登录:
## 客户端
cat ~/.ssh/id_rsa.pub # 若没有则执行 `ssh-keygen -t rsa` 生成
# 登录进入服务器
# ssh xxx@xxx.xxxx
## 服务端操作
mkdir -p ~/.ssh
chmod 700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
vi ~/.ssh/authorized_keys # 将客户端的key粘贴进来cd ~/.ssh
ssh-keygen -t rsa -C "user@email.com"# ssh-agent即为ssh代理程序,需要写到.bashrc
ssh-agent $SHELL # pstree
ssh-add /home/.ssh/id_novo
ssh-add /home/.ssh/id_rsassh-add &>/dev/null || eval `ssh-agent` &>/dev/null # start ssh-agent if not present
[ $? -eq 0 ] && { # ssh-agent has started
ssh-add ~/.ssh/your_private.key1 &>/dev/null # Load key 1
ssh-add ~/.ssh/your_private.key2 &>/dev/null # Load key 2
}# ssh-add命令是把私有密钥添加到ssh-agent的代理中
ssh-agent fish/bash
ssh-add /home/.ssh/id_novo
-D:删除ssh-agent中的所有密钥.
-d:从ssh-agent中的删除密钥
-L:显示ssh-agent中的公钥
-l:显示ssh-agent中的密钥
-t life:对加载的密钥设置超时时间,超时ssh-agent将自动卸载密钥
-X:对ssh-agent进行解锁
-x:对ssh-agent进行加锁Host nj
Hostname 192.168.96.2
User Test
PreferredAuthentications publickey
IdentityFile /home/.ssh/id_novo