SSH 公钥登录与超时断开

最近趁着阿里云针对学生半价买了一个半年的云主机,用下来有两个问题感觉比较蛋疼,一个是每次登录都要输入用户名密码,另一个就是超时自动断开。

公钥登录

ssh 远程连接服务器的验证方法有两种:密码或者公钥。免输密码的解决方法其实很简单,用 expect 命令就可以了。这里介绍一下如何将公钥导入服务器,免除登录时的密码验证。

  1. 前提条件当然是客户端创建了公钥,如果没有请使用 ssh-keygen
  2. 将客户端机器的公钥拷贝至服务器对应用户的家目录下:scp id_rsa.pub user@target_ip:~/
  3. 在服务器上创建 .ssh 目录,并修改权限:mkdir ~/.ssh && chmod 700 ~/.ssh
  4. 创建文件 authorized_keys 并将客户端的公钥写入:cat id_rsa.pub >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys

超时自动断开

阿里云主机大概一分钟左右没有输入客户端就会死在那里。所以需要设置一下 /etc/ssh/sshd_config 来延长超时时间,配置的内容就两条:

ClientAliveInterval 30
ClientAliveCountMax 200

然后重启一下 sshd 服务,反正我是重启了云主机,然后就行了。

以上。