1.条件
- 本地操作系统Ubuntu
- 远程服务器(Linux都可以)
本地如果是Window,其实也一样,但是需要先下载ssh和putty工具,然后操作步骤是一样的
2.生成ssh公私钥对
# 在本地重新生成SSH公私钥对非常简单,在你的命令行终端(Terminal)输入以下命令:
ssh-keygen -t rsa -b 4096
按下回车键后,终端会提示你输入一个文件名以保存新生成的密钥对,如果你只是按回车键不做任何输入,那么新的密钥对默认会存放在你的主目录的.ssh/子目录下,私钥为~/.ssh/id_rsa,公钥为~/.ssh/id_rsa.pub。
如果在你的.ssh目录下已经存在id_rsa和id_rsa.pub文件,那么ssh-keygen命令会提示你是否要覆盖原有的文件。如果你选择覆盖,那么原有的密钥对会被删除,不可恢复。
接下来,终端会要求你输入一个密码(passphrase)来保护你的私钥。这个密码是可选的,但是出于安全考虑,建议你设置一个。如果你的私钥不慎泄露,有密码保护的私钥文件还需要知道密码才能使用,相对安全一些。
设置密码完成后,ssh-keygen会生成新的密钥对,并在终端显示新公钥的指纹和图像。
3.配置公私钥
要使用公钥/私钥登录到远程服务器,你需要将公钥添加到远程服务器的
~/.ssh/authorized_keys
文件中。这个文件可能需要你手动创建,它位于远程服务器用户的主目录下的.ssh
目录中。一旦你的公钥添加到远程服务器,你就可以使用对应的私钥从本地机器登录到远程服务器了。这个过程是自动的,你不需要任何额外的操作。SSH客户端会自动找到并使用
~/.ssh/id_rsa
作为私钥。
4.本地连接远程主机
# 当你使用SSH命令行登录的时候,是显式指定用户名的,如以下命令:
ssh username@servername
5.参考
CHATGPT