本地生成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

上传服务器

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完成

上传服务器更新(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

设置服务器允许密钥登录:

打开sudo vi /etc/ssh/sshd_config

修改:

RSAAuthentication yes

PubkeyAuthentication yes

PermitRootLogin yes

#注意这里先不要yes,测试成功后再

#PasswordAuthentication no

重启ssh服务并连接测试

service sshd restart

客户机

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

没问题的话就直接连上了

BOUNS:vscode remote config文件设置:

Host 服务器ip

HostName 服务器ip

Port 服务器端口

User root

IdentityFile C:\\Users\\Roy\\.ssh\\id_rsa

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐