#SSH远程登录服务器
最近搭建了一个远程 Linux 服务器,在使用过程中每次SSH登录都需要输入密码,很不方便。所以想配置一下 SSH Key 实现 SSH 免密登录。同时,还要保证配置的过程中不能覆盖当前配置好的 SSH Key,比如 Github使用到的SSH。
所以现在有两个问题需要解决:
问题1: 登录时不用输入密码进行验证。
问题2: 多 SSH Key 管理。保证本地电脑上为Github配置的 SSH Key不会被覆盖。
下面我们来解决这两个问题
1. 免密码登录
在本地电脑上生成 SSH公钥和私钥。下面的命令是生成 SSh 公钥和私钥到指定目录下。
其中的路径和邮箱地址请更换为你自己的。
1 | $ ssh-keygen -t rsa -f /Users/user/.ssh/rsa_vps/id_rsa_remote -C "user@domain.com" |
将公钥上传到服务器.ssh
目录下
1 | $ scp id_rsa_vps.pub root@123.456.789.123:~/.ssh/ |
最后在远程服务器上将公钥内容追加到 ~/.ssh/authorized_keys
文件中
1 | cat id_rsa.pub >> authorized_keys |
2. 多SSH管理
如果要管理多个 SSH,需要在用户主目录下的 .ssh
文件夹下新建并配置config
文件。
1 | $ vim ~/.ssh/config |
在config
文件里按照如下格式进行填写
1 | Host github.com |
每个参数具体的含义如下
1 | Host 别名 |
配置好了之后,我们快去测试一下吧。
1 | # 测试GitHub |
ok,搞定收工。
补充如下:
如果服务器没有.ssh
目录则需要自己手动创建
1 | $ ssh-keygen -C "example@domain.com" |