客户端生成key
如果客户端存在id_rsa unix/linux默认位置为 "~/.ssh"目录下,如果没有可以用下面的命令生成
ssh-keygen -t rsa -C "user@email"
上传pub_key
需要将id_rsa.pub上传至指定服务器下的指定目录,如果服务器存在authorized_keys文件则会在该文件
cat ~/.ssh/id_rsa.pub | ssh user@host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
修改权限
需要服务器.ssh目录以及authorized_keys文件权限
chmod 700 ~/.ssh
chmod 644 ~/.ssh/authorized_keys
ssh-agent
私钥设置了密码以后,每次使用都必须输入密码,ssh-agent命令就是为了解决这个问题
根据自己终端类型选择命令行环境
ssh-agent bash
or
ssh-agent zsh
启用ssh-agent
eval命令的作用,就是运行上面的ssh-agent命令的输出,设置环境变量
eval `ssh-agent`
ssh-add
在新建的 Shell 对话里面,使用ssh-add命令添加默认的私钥
ssh-add
Enter passphrase for /home/you/.ssh/id_dsa: ********
Identity added: /home/you/.ssh/id_dsa (/home/you/.ssh/id_dsa)
这样以后登陆服务器就可以使用 ssh 命令正常登录远程服务器。