SSH 连接时,需要输入目标主机的用户名和 IP,随后还要输入用户密码,使用起来比较繁琐。可以通过配置 SSH 密钥来使用主机名和密钥快速建立 SSH 连接,免去输入用户名、IP 地址和密码的麻烦。
一、使用 ssh-keygen 在本地生成 SSH 公钥
在终端输入:
ssh-keygen -t rsa
回车后会分别提示输入公钥的保存位置和口令,这里全部默认,连续回车即可。
二、使用 scp 将 SSH 公钥拷贝到远程主机的授权密钥中
在终端输入:
scp ~/.ssh/id_rsa.pub root@1.1.1.1:~/.ssh/authorized_keys
三、在本地创建 SSH 客户端的配置文件
在终端输入:
nano /.ssh/config
回车后在新打开的文件中逐行录入 Host(远端主机名)、HostName(远端主机 IP 地址)、Port(远端主机端口,默认为22)、User(远端主机用户名)和 IdentityFile(刚刚在本地生成的RSA公钥文件)。按 Ctrl O 保存,并按 CtrlX 退出 nano 编辑器(这里使用 nano 编辑器是因为 Ubuntu 桌面自带,下一步在远端使用 vim 同理。使用其他你惯用的文本编辑器均可)。
四、在远端主机编辑 SSH 服务端的配置文件
SSH 登录远端主机(目前还需要使用用户名@IP地址并输入密码)后,在终端输入
vim /etc/ssh/sshd_config
找到PubKeyAuthentication Yes
,删去前面的注释符号,并确保下面的AuthorizedKeyFile .ssh/authorized_keys
一行也未被注释。保存文件使其生效。
五、大功告成!
本页的评论功能已关闭