Mac 使用秘钥登录 Linux 服务器
简介
在 Mac 上配置 SSH 密钥登录远程的 Linux
相关配置
-
创建本地的 SSH 密钥
本地 生成秘钥对
ssh-keygen -t rsa -C 'youxiang@aliyun.com'
-t 指定密钥类型,默认即 rsa -C 设置注释文字,比如你的邮箱
可以设置 私钥密码,我这里设置的密码为 12345
生成的密钥默认在 家目录 下的
.ssh
目录下 -
上传 公钥到远程 Linux 服务器
使用
scp
复制公钥到远程服务器scp -P <端口号> ~/.ssh/id_rsa.pub <用户名>@<ip地址>:/home/id_rsa.pub
我这里使用的
root
用户上传,需要输入登录密码 -
配置远程 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
-
本地 ssh 连接
ssh -p <端口号> <用户名>@<ip地址>
如果没有修改默认端口,可以忽略端口号
ssh root@114.11.11.111
-
创建配置文件快速登录
每次登录都需要输入用户和 ip 地址,这样也是太麻烦,可以添加配置文件,使用 别名 来登录
vi ~/.ssh/config
Host alias #自定义别名 HostName 114.11.11.110 #替换为你的ssh服务器ip或domain Port 22 #ssh服务器端口,默认为22 User root #ssh服务器用户名 IdentityFile ~/.ssh/id_rsa #第一个步骤生成的公钥文件对应的私钥文件
此时就可以使用
ssh jd
进行登录
禁止 Linux 使用账号密码登录
-
cd /etc/ssh/
-
修改SSH的配置文件
vi sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
#AuthorizedKeysCommand none
#AuthorizedKeysCommandRunAs nobody
#默认PasswordAuthentication 为yes,即允许密码登录,改为no后,禁止密码登录
PasswordAuthentication no
-
重启
ssh
服务systemctl restart sshd.service
本作品采用《CC 协议》,转载必须注明作者和本文链接