解决每次访问服务器或者git提交需要输入服务器用户密码的繁琐过程
正常操作
打开终端,在本机生成ssh密钥
ssh-keygen
显示如下
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/yourname/.ssh/id_rsa):
此时默认存放在括号中位置,直接回车可以存放在默认位置。如果你有多种类型ssh连接比如工作、私人,你也可以定义在自己想要的位置及名称,比如我输入了 /Users/yourname/.ssh/id_rsa_test.接下来两个可以定义密码,我选择默认回车不使用密码,再次回车确认。此时会在.ssh文件夹下生成id_rsa_test以及id_rsa_test.pub
接下来将公钥id_rsa_test.pub中的全部复制到服务器~/.ssh中的authorized_keys中,没有的话自己创建
方法一
ssh-copy-id -i ~/.ssh/id_rsa_test.pub name@IP
方法二
直接复制id_rsa_test.pub中的内容,进入服务器中粘贴即可
两种方法最后无论如何都要进入服务器
将authorized_keys权限设置为600 .ssh权限设置为700
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
最后一步在本机.ssh文件夹中新建config文件
Host Test #你的服务器别名
HostName 115.115.115.115 #你的服务器ip
User test 你的服务器用户名
IdentityFile ~/.ssh/id_rsa_test #你的私钥
现在尝试ssh test 成功
曾经配置过的不能免密登陆了
此时无法ssh到服务器 此时使用刚才的ssh-copy-id name@IP命令会报类似以下错误
/usr/bin/ssh-copy-id: WARNING: All keys were skipped because they already exist on the remote system.
我们此时删除主机上的authorized_keys,并在重新创建新的key
重复创建时的操作
mac在finder中查看隐藏文件方法
正常在终端中查看隐藏文件可以使用
ls -la
但是如果想在Finder中查看隐藏文件需要如下命令
defaults write com.apple.finder AppleShowAllFiles -boolean true;killall Finder
不需要查看隐藏文件功能时将true变为false即可
defaults write com.apple.finder AppleShowAllFiles -boolean false;killall Finder
文章同时发布在我的私人博客www.wakli.com上面