SSH免密连接

解决每次访问服务器或者git提交需要输入服务器用户密码的繁琐过程

正常操作

打开终端,在本机生成ssh密钥

1
ssh-keygen

显示如下

1
2
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中,没有的话自己创建

方法一

1
ssh-copy-id -i ~/.ssh/id_rsa_test.pub name@IP

方法二

直接复制id_rsa_test.pub中的内容,进入服务器中粘贴即可

两种方法最后无论如何都要进入服务器

将authorized_keys权限设置为600 .ssh权限设置为700

1
2
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

最后一步在本机.ssh文件夹中新建config文件

1
2
3
4
Host Test #你的服务器别名
HostName 115.115.115.115 #你的服务器ip
User test 你的服务器用户名
IdentityFile ~/.ssh/id_rsa_test #你的私钥

现在尝试ssh test 成功

曾经配置过的不能免密登陆了

此时无法ssh到服务器 此时使用刚才的ssh-copy-id name@IP命令会报类似以下错误

1
/usr/bin/ssh-copy-id: WARNING: All keys were skipped because they already exist on the remote system.

我们此时删除主机上的authorized_keys,并在重新创建新的key

重复创建时的操作

mac在finder中查看隐藏文件方法

正常在终端中查看隐藏文件可以使用

1
ls -la

但是如果想在Finder中查看隐藏文件需要如下命令

1
defaults write com.apple.finder AppleShowAllFiles -boolean true;killall Finder

不需要查看隐藏文件功能时将true变为false即可

1
defaults write com.apple.finder AppleShowAllFiles -boolean false;killall Finder
打赏
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!

请我喝杯咖啡吧~

支付宝
微信