0%

基于ssh-key实现服务器免密登陆

远程连接Linux服务器,通常有两种方式, 第一种就是ssh直接远程连接, 第二种就是采用第三方的工具进行连接。
那么我本人是十分习惯以及喜欢终端(terminal)直接连接的。
一是因为快捷键更熟悉,另一方面是相对更安全。但采用ssh直接连接难免是有很多不便, 例如每次输入密码,例如每次输入远程ip地址。
密码我个人是喜欢设置成非常难以记忆的密码,保存在本地一个记事本或者文档里面,ip更不用说。记自然是不可能记的。那么如何实现ssh免密登陆以及ip的代号呢

生成密钥

1
ssh-keygen -t rsa -C "your_email@youremailhost.com" -f ~/.ssh/id_ali_rsa

上传公钥到服务器

1
ssh-copy-id -i ~/.ssh/id_ali_rsa.pub root@host

初次密码验证

输入密码

下次直接使用ssh登陆即可实现免密登陆

1
ssh user@host

小技巧

远程登录的ip一般来说都是没有规律的,也十分的难记。那么如何才能给他一个好记的名字来替代,但又好区分呢。方法也非常的简单。

只需要啊在~/.ssh/config 中进行如下设置即可

1
2
3
4
5
6
Host ali
Hostname ip
User root
Port 22
IdentityFile ~/.ssh/id_ali_rsa
AddKeysToAgent yes

下次ssh连接服务的ip时, 直接使用ssh ali 即可

config 规则请参考

https://www.freebsd.org/cgi/man.cgi?query=ssh_config