SSH 免密登录
·阅读预计 2 分钟
SSH
记录
目录
通常通过密码 ssh 登录经常需要每次输入用户密码,频繁地输入密码来登录确实低效且有被暴破的风险,使用 ssh key 能更安全优雅的连接远程主机,macOS 自带的终端,Windows 10或11可使用自带的 Powershell 或者 Windows Terminal 均可。
1. 在本地创建 SSH 密钥对 #
ssh-keygen
默认情况下,创建一个 3072 位的 RSA 密钥对,将存储在 ~/.ssh
用户主目录中的目录中。按照以下操作即可:
username@BEIs-MacBook-Air ~ % ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/username/.ssh/id_rsa): ##.ssh存放在用户目录下,username是当前用户的用户名,直接按Enter按默认位置保存
/Users/username/.ssh/id_rsa already exists. ##因为我之前创建过,所以会提示该目录已存在
Overwrite (y/n)? y ##上述情况下,会询问是否确定覆盖,当心输入y会确定覆盖已有的密钥
Enter passphrase (empty for no passphrase): ##输入私钥密码,可留空直接按Enter
Enter same passphrase again: ##再输一遍私钥密码,可留空直接按Enter
Your identification has been saved in /Users/username/.ssh/id_rsa ##私钥位置
Your public key has been saved in /Users/username/.ssh/id_rsa.pub ##共钥位置
The key fingerprint is:
SHA256:+47O5+hkXcRFCde397wfapnIhPXLXAMS5fIEHr7zzrj username@BEIs-MacBook-Air.local
The key's randomart image is:
+---[RSA 3072]----+
| .++o.=|
| ..oooo|
| . .. ..|
| . .E . |
| S o. .|
| o.+.. o |
| + .++.ooo|
| + =.o*+=o+|
| o*+=.=X*.+|
+----[SHA256]-----+
username@BEIs-MacBook-Air ~ %
2. 在服务器上添加公钥 #
cat ~/.ssh/id_rsa.pub | ssh root@192.168.1.101 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
替代192.168.1.101
为你自己的服务器地址,执行上述命令,
Are you sure you want to continue connecting (yes/no)? ##输入yes
再输入一次root用户的密码,就可以将生成的公钥追加到服务器 authorized_keys
文件里了。
3. 禁用密码身份验证 #
经过前两步的操作,应该就可以实现不用输密码即可登录了。此时密码登入仍然有效,验证免密OK后,可以继续禁用密码身份验证以提高安全。
登录服务器执行 vim /etc/ssh/sshd_config
编辑ssh的配置文件,寻找 PasswordAuthentication
:
#PasswordAuthentication yes
可能会被注释掉。通过删除该行开头的 #
来取消注释该行,并将值设置为 no
即可:
PasswordAuthentication no
最后执行 sudo systemctl restart ssh
重启ssh进程即可生效!
4.问题排除 #
要确保客户端和服务端的密钥文件及其文件夹是可被 SSH 进程可读的,如需可通过以下命令修改权限:
chmod 755 authorized_keys
chmod 700 id_rsa
chmod 700 id_rsa.pub
出现以下报错,ssh-keygen -R IP
或者删除用户文件夹 ~/.ssh
下的 known_hosts
文件即可
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
安装
sudo apt install vim
Related
MarkDown 语法笔记
·阅读预计 2 分钟
MarkDown
笔记
Hello Hugo
·阅读预计 1 分钟
Mac 安装 brew
·阅读预计 1 分钟
Homebrew
Mac
笔记