macOS系统ssh通过密钥文件连接Ubuntu系统
1. 前言
在一年前(2022年)的春天,因学校封控,故让机房的台式机一直开机跑程序。后来,学校解封后入校查看台式机,发现被黑了。
当时,总结了一点Ubuntu系统防止被黑的经验,见:Ubuntu防黑的经验总结。
究其原因,还是采用账号密码的方式登陆远程Ubuntu系统。
如果能够通过密钥文件的方式,应该可以大大降低被黑风险。
2. Ubuntu系统设置
- 生成一对密钥(公钥,私钥):
ssh-keygen -t rsa
这里,使用原始路径 /name/.ssh/id_rsa
。同时,passphrase
也需要设置一个复杂点的密码。
- 进入.ssh文件夹:
cd .ssh
- 在服务器上安装公钥:
cat id_rsa.pub >> authorized_keys
- 对安装的公钥文件和.ssh文件夹授权:
chmod 600 authorized_keys
chmod 700 ~/.ssh
- 利用vi修改sshd配置:
vi /etc/ssh/sshd_config
- 在文件中,加入以下命令:
RSAAuthentication yes
PubkeyAuthentication yes
# 禁止root用户进行ssh登录
PermitRootLogin no
# 禁止利用账户密码的方式进行ssh登录,即只能通过密钥文件登陆
PasswordAuthentication no
ChallengeResponseAuthentication no
# 只允许用户名name进行ssh登录
AllowUsers name
注意⚠️: 通过 man sshd_config
查看详细参数说明。
-
利用vi对此文件退出并保存:
:wq
-
重启ssh服务:
service sshd restart
- 先在Ubuntu系统里,使用
Control + H
显示隐藏的.ssh文件夹,而后私钥文件id_rsa
复制到macOS系统下。
至此,Ubuntu系统的设置完成。
3. macOS系统设置
-
安装Royal TSX软件,用于远程访问Ubuntu系统,见: Royal TSX:macOS系统的服务器管理软件
-
在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
。
-
在Royal TSX软件的SFTP文件管理里,也是类似上面的步骤。