macOS系统ssh通过密钥文件连接Ubuntu系统

2023-04-04
#Experiences #Unix

1. 前言

在一年前(2022年)的春天,因学校封控,故让机房的台式机一直开机跑程序。后来,学校解封后入校查看台式机,发现被黑了。

当时,总结了一点Ubuntu系统防止被黑的经验,见:Ubuntu防黑的经验总结

究其原因,还是采用账号密码的方式登陆远程Ubuntu系统。

如果能够通过密钥文件的方式,应该可以大大降低被黑风险。

2. Ubuntu系统设置

  1. 生成一对密钥(公钥,私钥):
ssh-keygen -t rsa

这里,使用原始路径 /name/.ssh/id_rsa。同时,passphrase也需要设置一个复杂点的密码。

  1. 进入.ssh文件夹:
cd .ssh
  1. 在服务器上安装公钥:
cat id_rsa.pub >> authorized_keys
  1. 对安装的公钥文件和.ssh文件夹授权:
chmod 600 authorized_keys
chmod 700 ~/.ssh
  1. 利用vi修改sshd配置:
vi /etc/ssh/sshd_config
  1. 在文件中,加入以下命令:
RSAAuthentication yes

PubkeyAuthentication yes

# 禁止root用户进行ssh登录
PermitRootLogin no

# 禁止利用账户密码的方式进行ssh登录,即只能通过密钥文件登陆
PasswordAuthentication no
ChallengeResponseAuthentication no

# 只允许用户名name进行ssh登录
AllowUsers name

注意⚠️: 通过 man sshd_config 查看详细参数说明。

  1. 利用vi对此文件退出并保存::wq

  2. 重启ssh服务:

service sshd restart 
  1. 先在Ubuntu系统里,使用Control + H显示隐藏的.ssh文件夹,而后私钥文件id_rsa复制到macOS系统下。

至此,Ubuntu系统的设置完成。

3. macOS系统设置

  1. 安装Royal TSX软件,用于远程访问Ubuntu系统,见: Royal TSX:macOS系统的服务器管理软件

  2. 在Royal TSX软件的ssh终端管理里,主要设置Properties————Credentials:

    • Credential——Specify username and password——Username,只填写用户名,密码Password不用填写;
    • Private Key File——Embed Private Key File——Browse到私钥文件id_rsa——输入Ubuntu系统最开始输入的密码Passphrase
    • 点击 Apply & Close
  3. 在Royal TSX软件的SFTP文件管理里,也是类似上面的步骤。

参考