前情提要
安全外壳协议是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。SSH通过在网络中建立安全隧道来实现SSH客户端与服务器之间的连接。SSH最常见的用途是远程登录系统,人们通常利用SSH来传输命令行界面和远程执行命令。
在使用SSH进行远程主机访问时,对于一个陌生的主机,我们需要知道其用户名和IP地址,例如:
1 | |
这时需要我们输入密码,十分的不便捷。
补充: 这里的
-p 11451是指定的端口,SSH的默认端口是22。如果你使用了内网穿透(如FRP)访问,那么就需要指定端口了。
免密登录和别名登录是懒人操作的好方法。
此时使用SSH登录被简化成如下方法:
1 | |
嗯姆,密码也不需要输入了,十分的懒人。
设置别名登录
01. 创建SSH Config文件
我们首先需要在主机$HOME/.ssh文件夹创建一个SSH Config文件。
1 | |
02. 设置别名登录
要想别名登录,我们只需要在config文件内添加远程主机的登录信息。
我先拿我已经写好的做个示例捏:
1 | |
嗯姆,结合上文所说,想必你应该已经看懂了:
Host就是你指定的别名HostName是主机IP地址,填写域名也是可以的Port是端口号User是你指定登录的用户
只需要按照上述样式修改成你自己的登录信息放到$HOME/.ssh/config文件下就可以了捏,你还可以按照上述样式添加多个主机。
设置免密登录
01.创建密钥对
我们需要在$HOME/.ssh文件夹下创建一个秘钥文件,ssh-keygen工具用于生成公私钥文件,其中-t是指定秘钥加密类型,我们使用RSA作为加密类型。
1 | |
我们会发现其在$HOME/.ssh下创建了两个文件:
- id_rsa (这个是私钥)
- id_rsa.pub (这个是公钥)
02.复制公钥到远程主机
私钥当然不可以给别人用嘛,我们需要把公钥分发给需要远程的主机,很快就好。
我们使用ssh-copy-id命令将秘钥文件复制给远程主机,示例如下:
1 | |
这里-i是指定识别文件,就是公钥的保存位置$HOME/.ssh/id_rsa
豪,这样我们就可以免密登录了。
1 | |
关闭密码登录提升安全性
待续