赞
踩
在vscode的extension
输入ssh
,点击安装。安装完毕后重新加载(或者重新启动),能看到界面左侧侧边栏多了一个图标。
接下来是本篇博客的重点了,同事借助GPT写的安装脚本,非常好用,才写下了这篇博客哈哈哈哈!
这里将这个安装脚本分成了两步,一步是给远程服务器下载与你本地vscode相对应版本的vscode server,另一步是安装使用。
需要注意的是:如果你本地的vscode版本发生了升级等变更操作,远程服务器的vscode server也要进行相应变更,最好是借助这个脚本重新安装一次。
需要本地安装sshpass
和wget
两个程序,用于在本地启动脚本下载安装资源包到远程服务器
sudo apt install sshpass wget # 需要安装以上两个程序
打开你本地vscode
,菜单栏->帮助->关于
,找到vscode
版本的commit id
,复制然后修改到下面脚本中:
同时修改你要操作的远程服务器的ip、账号和密码,需要注意的是你的远程服务器可能无法联网,那么可以在本地下载好资源包然后copy到远程服务器的~/.vscode-server/bin
目录下(此目录会在执行脚本1.sh后生成,当然你也可以自己创建):
wget "https://update.code.visualstudio.com/commit:abd2f3db4bdb28f9e95536dfa84d8479f1eb312d/server-linux-x64/stable" #本地下载
假设以下脚本名为1.sh
,在终端执行:bash 1.sh
,进行下载:
#!/bin/bash # sudo apt install sshpass wget # 需要本地安装以上两个程序 commit_id="abd2f3db4bdb28f9e95536dfa84d8479f1eb312d" # 你的vscode版本 菜单栏->帮助->关于 host="192.168.xxx.xxx" #替换为你需要安装的PC host名 user="xxx" # 在远程host中你的账号 password="xxxxxx" # 将xxx替换为实际密码 pkg_name="stable" host_dir=".vscode-server/bin" # # 下载 Visual Studio Code 服务器 wget "https://update.code.visualstudio.com/commit:${commit_id}/server-linux-x64/${pkg_name}" #wget "https://update.code.visualstudio.com/commit:abd2f3db4bdb28f9e95536dfa84d8479f1eb312d/server-linux-x64/stable"
假设以下脚本名为2.sh
,在终端执行:bash 2.sh
,执行脚本完成安装:
#!/bin/bash # sudo apt install sshpass wget # 需要安装以上两个程序 commit_id="abd2f3db4bdb28f9e95536dfa84d8479f1eb312d" # 你的vscode版本 菜单栏->帮助->关于 host="192.168.xxx.xxx" #替换为你需要安装的PC host名 user="xxx" # 在远程host中你的账号 password="xxxxxx" # 将xxx替换为实际密码 pkg_name="stable" host_dir=".vscode-server/bin" # # 下载 Visual Studio Code 服务器 #wget "https://update.code.visualstudio.com/commit:${commit_id}/server-linux-x64/${pkg_name}" #wget "https://update.code.visualstudio.com/commit:abd2f3db4bdb28f9e95536dfa84d8479f1eb312d/server-linux-x64/stable" sshpass -p "${password}" ssh "${user}@${host}" "mkdir ~/.vscode-server;mkdir ~/${host_dir}" # 将文件复制到远程服务器 sshpass -p "${password}" scp "${pkg_name}" "${user}@${host}:~/${host_dir}/" # 解压文件并将其移到正确的目录 sshpass -p "${password}" ssh "${user}@${host}" "tar -xvf ~/${host_dir}/${pkg_name} -C ~/${host_dir}; mv ~/${host_dir}/vscode-server-linux-x64 ~/${host_dir}/${commit_id}" # 同步本地扩展到远程服务器 sshpass -p "${password}" rsync -avz --progress ~/.vscode/extensions/ "${user}@${host}:~/.vscode-server/extensions/"
之后就可以在vscode中登录到远程服务器,进行远程编辑使用了。
参考博客:【Linux基础】SSH免密登录的第三节[SSH免密登录],照着操作即可完成ssh免密登录。
通过对SSH两种安全验证机制的了解,可以发现使用口令登录的方式需要输入密码,而使用公钥登陆的方式避免了输入密码这个步骤。因此SSH基于密钥的安全验证方式可以实现SSH远程免密登录。实现SSH免密登录的步骤如下:
使用ssh-keygen
生成一对密钥,生成的私钥将存放在用户目录下的.ssh/id_rsa
中,公钥将存放在用户目录下的.ssh/id_rsa.pub
中生成的两个密钥文件:
生成的两个密钥文件:
登录服务器,将刚刚在本机生成的公钥(.ssh/id_rsa.pub
)复制到服务器的~/.ssh/authorized_keys
文件中
使用cat
指令查看authorized_keys
文件,cat authorized_keys
可以看到公钥已经被写入。
注意:~/.ssh/authorized_keys
文件中可以存放多个主机的公钥,每个公钥后面会使用主机名来区分
完成以上设置后在本机使用SSH可以免密登录服务器
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。