第一次执行 ssh name@xxx.xxx.xxx.xxx 的时候心情应该是有点激动地(终于有了一台自己的服务器,亦或者是接触新的领域的亢奋),但是当执行了几十次的时候,心里应该就有点烦躁了,卧X,每次都要输入ip、密码,或者CV过来,好麻烦啊!
作为一个”慵懒”的coder,这个时候就会寻找更方便的方式来登陆服务器。
STEP ONE:修改sshd服务的配置文件
vim /etc/ssh/sshd_config
打开以下三项:
RSAAuthentication yes # RSA认证
PubkeyAuthentication yes # 公钥认证
AuthorizedKeysFile .ssh/authorized_keys # 公钥认证文件路径
PS:如果用root用户有失败的情况,请检查PermitRootLogin yes 这个配置项的值是否为 yes 。
然后 systemctl restart sshd or service sshd restart 来重启 sshd 服务。
STEP TWO:在本地机器上生成公钥与私钥
使用ssh-keygen 命令来生成公钥与私钥。具体步骤:
1. 进入用户主目录下的.ssh目录cd ~/.ssh
2. 执行 ssh-keygen -t rsa,敲下回车后会有3个交互,第一个是文件名,默认是id_rsa,如需修改,自己输入一个文件名便可。第二与第三是密码与确认密码,是以后使用该公钥时要输入的密码,一般不设置,如有强烈的安全需求,自己设置便可。最后会生成两个文件id_rsa,id_rsa.pub。以.pub结尾的是公钥,另一个是私钥。
STEP THREE:把公钥加入到服务器的.ssh/authorized_keys 文件中
这一步太easy了,把公钥内容,即id_rsa.pub 文件中的内容复制下来,copy到服务器的 ~/.ssh/authorized_keys 文件中即可。
STEP FOUR:配置本地config文件
在本地机器的目录~/.ssh 下找到config文件(若不存在,自己创建一个 touch config),按如下进行配置:
Host vps # 一个便于你区别这是哪台机器的名字
HostName xx.xx.xx.xx # 目的机器的ip
User username # ssh登陆时候的用户名
Port 22 # ssh所使用的端口,默认是22
IdentityFile /Users/chl/.ssh/vps # 对应服务器公钥的本地私钥文件路径
好了,开始爽了。
以后只要 ssh vps 便可登陆服务器,再也不需要麻烦的记住ip地址,记住复杂的密码了,好爽!
over
本文详细介绍如何通过生成公钥与私钥的方式实现SSH免密登录。包括修改sshd服务配置、生成密钥对、配置公钥及本地config文件等步骤。
1968

被折叠的 条评论
为什么被折叠?



