简介
在 Mac 上配置 SSH 密钥登录远程的 Linux
相关配置
创建本地的 SSH 密钥
ssh-keygen -t rsa -C 'example@example.com'
-t 指定密钥类型,默认即 rsa
-C 设置注释文字,比如你的邮箱
在配置过程中,可以根据提示设置私钥
密码,我这里就不设置,默认为空,回车即可。
生成的密钥默认在家目录
下的.ssh
目录下
上传公钥到远程 Linux 服务器
使用 scp 复制公钥到远程服务器
scp -P <端口号> ~/.ssh/id_rsa.pub <用户名>@<ip地址>:/home/id_rsa.pub
配置远程 Linux 的私钥
登录远程 Linux 服务器,把公钥追加到服务器 ssh 认证文件中
cat /home/id_rsa.pub >> ~/.ssh/authorized_keys
如果在 家目录 没有 .ssh 目录或 authorized_keys 文件,可以创建一下,并授予 authorized_keys 文件 600 权限
然后在执行
cat /home/id_rsa.pub >> ~/.ssh/authorized_keys
创建配置文件快速登录
每次登录都需要输入用户名和地址,这样也是太麻烦,可以添加配置文件,使用别名
来登录
% vi ~/.ssh/config
Host alias #自定义别名
HostName 0.0.0.0 #替换为你的ssh服务器ip或domain
Port 22 #ssh服务器端口,默认为22
User root #ssh服务器用户名
IdentityFile ~/.ssh/id_rsa #第一个步骤生成的公钥文件对应的私钥文件
此时就可以使用 ssh进行登录
ssh alias
禁止 Linux 使用账号密码登录
% cd /etc/ssh/ & vi sshd_config
# sshd_config:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
#AuthorizedKeysCommand none
#AuthorizedKeysCommandRunAs nobody
#默认PasswordAuthentication 为yes,即允许密码登录,改为no后,禁止密码登录
PasswordAuthentication no
# end
% systemctl restart sshd.service