- 很多时候我们需要通过ssh连接开发,测试,线上服务器。在windows下我们有xshell等工具,配置一下密钥认证就可以快速连接。但是在mac或者在linux工作环境下下可能就没有比较通用的客户端了,这里我们介绍一种原生的通过配置ssh_config的方式简化连接命令。
- 这是一段ssh_config文件的注释,解释这样做的原理:
# This is the ssh client system-wide configuration file. See
# ssh_config(5) for more information. This file provides defaults for
# users, and the values can be changed in per-user configuration files
# or on the command line.
- 步骤如下:
- 配置你的
ssh_config
文件(一般在/etc/ssh目录下)如下:
Host 98
Hostname 111.111.111.111
Port 56789
User wangsan
PasswordAuthentication no
ForwardAgent yes
AddKeysToAgent yes
IdentityFile ~/.ssh/98/id_rsa
- 将你的公私钥文件放入上面填写的地址,这里需要注意,需要将/.ssh/98目录设置成700权限,将id_rsa文件设置成600权限,拥有者改为自己,原因如下:
~/.ssh/identity
~/.ssh/id_dsa
~/.ssh/id_ecdsa
~/.ssh/id_ed25519
~/.ssh/id_rsa
Contains the private key for authentication. These files contain sensitive data and should be readable by the user but not accessible by others (read/write/execute). ssh will simply ignore a private key file if it is accessible by others. It is possible to specify a passphrase when generating the key which will be used to encrypt the sensitive part of this file using 3DES.
也就是私钥文件因为安全需要,不能被其他用户访问,如果访问安全不够,则会默认忽略该私钥。
具体怎么改?
修改权限:
1.把从.ssh到获取密钥之间的目录权限修改成700,上面的例子我们需要修改98目录的权限:chmod 700 目录
2.把私钥文件权限修改成600:chmod 600 私钥文件
3.查看当前登录用户 whoami
4.修改私钥所有者为自己 chown 当前用户
- 配置好后,我们只需要键入:
ssh 98
,即可访问配置好的远程服务器
- 备注
- 网上也有通过iterm2配置profile的方式简化登录方式,也不失为一种好办法,但是比较依赖客户端程序