我们申请开发机以后,一般需要在本地通过ssh登录到开发机,下面讲一下ssh配置的相关步骤:
- 我们首先通过账号密码登录到开发机,进行sshd的配置,如果是在腾讯云服务器上,可以直接选择免密登录;
- 在个人目录下,创建.ssh目录,通过chmod将权限调整为只允许个人写入
mkdir .ssh
chmod 600 .ssh // 非常关键,sshd会校验权限,如果不通过则无法登录
- 进入.ssh目录,将公钥传上来
- 创建authorized_keys文件,设置权限,并将公钥写入
touch authorized_keys
chmod 600 authorized_keys // 仅允许个人读写,sshd同样会校验权限
cat <公钥文件> >> authorized_keys
- 设置/etc/ssh/sshd_config文件
Port 22 #端口
PermitRootLogin yes #允许root的ssh登录
PubkeyAuthentication yes #启用公钥验证
AuthorizedKeysFile .ssh/authorized_keys #公钥的保存位置
- 重启sshd服务
sudo systemctl restart sshd
sudo systemctl status sshd // 查看服务状态,确保运行正常
以上就完成了远端机器上的配置,下面在本地机器上通过ssh登录:
ssh -i <私钥文件> <username>@<机器ip>
如果嫌每次要指定私钥文件麻烦,可以在 .bashrc 中加一条ssh-add <私钥> 将私钥记录在ssh-agent中,这要登录时就不需要指定了。