ssh生成及添加到服務器,及vscode remote 配置文件設置

  1. 本地生成ssh key
    使用命令ssh-keygen -t rsa -b 4096生成ssh key,生成好的路徑在:
  • macOS/linux:~/.ssh/id_rsa.pub
  • win: C:\Users\your-user\.ssh\id_rsa.pub
  1. 上傳服務器
    macOS / Linux機器超級容易: ssh-copy-id your-user-name-on-host@host-fqdn-or-ip-goes-here
    windows:使用powershell 運行:
$REMOTEHOST="your-user-name-on-host@host-fqdn-or-ip-goes-here"

scp "$env:USERPROFILE\.ssh\id_rsa.pub" "${REMOTEHOST}:~/tmp.pub"
ssh "$REMOTEHOST" "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat ~/tmp.pub >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && rm -f ~/tmp.pub"

但是我的服務器ssh端口號是改過的,試了一下這個腳本不行,我們手動重現這個過程也不難:

  • 服務器上mkdir -p ~/.ssh && chmod 700 ~/.ssh
  • 在本地打開復制public-key
  • 服務器sudo vim ~/.ssh/authorized_keys, 若里面已經有內容,回車后將復制的內容插入新的一行即可,若沒有直接插入,:wq保存退出。
  • chmod 600 ~/.ssh/authorized_keys完成
  1. 上傳服務器更新(2021.06.25)
    windows下,如果安裝了git bash, 直接一條命令搞定:
cat id_rsa.pub | ssh root@服務器ip -p 服務器ssh端口 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

如果確定服務器上.ssh文件夾存在,也可以去掉mkdir -p

  1. 設置服務器允許密鑰登錄:
    打開sudo vi /etc/ssh/sshd_config
    修改:
RSAAuthentication yes
PubkeyAuthentication yes
PermitRootLogin yes
#注意這里先不要yes,測試成功后再
#PasswordAuthentication no
  1. 重啟ssh服務并連接測試
service sshd restart

客戶機

ssh root@你的ip -p 你的端口號

沒問題的話就直接連上了

  1. BOUNS:vscode remote config文件設置:
Host 服務器ip
  HostName 服務器ip
  Port 服務器端口
  User root
  IdentityFile C:\\Users\\Roy\\.ssh\\id_rsa
  1. 如果使用自建gitlab,還要注意在gitlab設置中添加自己的id_rsa.pub; 否則以ssh方式操作git會詢問密碼
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容