1. Generar clave pública y clave privada localmente
ssh-keygen -t rsa -b 4096
El comando anterior genera dos archivos, id_rsa e id_rsa.pub, en la carpeta .ssh del directorio raíz del usuario, id_rsa es el archivo de clave privada e id_rsa.pub es el archivo de clave pública
2. Copie el contenido de la clave pública en las claves_autorizadas del servidor remoto
Inicie sesión en el servidor, abra la carpeta .ssh, cree el archivo authorized_keys, modifique el permiso del archivo a 600 y use vim para copiar el contenido de la clave pública local en authorized_keys
cd ~/.ssh
touch authorized_keys
chmod 600 authorized_keys
vim authorized_keys # 这步把id_rsa.pub的内容拷贝进去,保存退出
3. Modifique el archivo de configuración de vscode y especifique la ubicación de la clave privada
Abra el archivo de configuración anterior y agregue el campo IdentityFile:
Host Server
HostName 目标机ip
User liaobaoxin
IdentityFile "/Users/baoxin/.ssh/id_rsa" #私钥地址
Después de eso, puede iniciar sesión de forma remota sin contraseña de acuerdo con el proceso anterior.
4. Inicio de sesión sin contraseña de la máquina trampolín
Siga el paso 2 para crear archivos de claves_autorizadas en la carpeta .ssh tanto de la máquina trampolín como de la máquina de destino , copie el contenido de la clave pública local, cambie los permisos del archivo a 600, modifique el archivo de configuración de vscode y agregue lo siguiente a ambos trampolines máquina y la máquina de destinoIdentityFile [本地私钥地址]
:
Host JumpMachine
#跳板机ip
HostName 跳板机ip
#登入的用户名,可以不是root
User liaobaoxin
#上文提到的sshd服务端口
Port 22
IdentityFile "/Users/baoxin/.ssh/id_rsa"
#目标机名称,可以随便取
Host TargetMachine
#目标机ip
HostName 目标机ip
#登入的用户名,可以不是root
User liaobaoxin
IdentityFile "/Users/baoxin/.ssh/id_rsa"
#特别注意这里不需要设置端口了
#起跳转作用的代码,可以直接复制,注意JumpMachine需要与前面跳板机名称相同
ProxyCommand ssh -W %h:%p JumpMachine
No necesita ingresar una contraseña para iniciar sesión de forma remota en la máquina de destino