✨SSH远程连接.
手动挡
生成公私秘钥
比如
ssh-keygen -t rsa -C "utsuko27@qq.com" -f ~/.ssh/Gitee_rsa
生成后
.ssh/
文件夹下面就会出现两个文件Gitee_rsa
私钥Gitee_rsa.pub
公钥
通过
cd ~/.ssh
或者cat ~/.ssh/Gitee_rsa.pub
的方式获取公钥- 一般.ssh 路径为
C:\Users\username\.ssh
- 把公钥复制到远程机上.
- 一般.ssh 路径为
配置连通
在.ssh 下新建
config
文件,参照以下模板:# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/Gitee_rsa多个 ssh 秘钥在这个 config 文件里配置
如果不想让它确认输入 yes,可以在这个文件里加上一行:
StrictHostKeyChecking no
配置文件完成,现在应该是这样子:
测试命令
终端进入这个.ssh 文件夹(不在这个文件夹下无法导通)
ssh -T git@gitee.com
出现
git@gitee.com: Permission denied (publickey).
,说明哪里没配置好出问题了.出现
Hi Weidows! You've successfully authenticated, but GITEE.COM does not provide shell access.
说明配置好了.测试完成,两机处于连通状态!
跳板机代理连接
使用跳板机进行代理 ssh 连接, 需要在最终的目标机子 ~/.ssh/authorized_keys
内添加本机的公钥, 然后配置本机 ssh config 如下
# 跳板机 |
自动挡
FinalShell
连接树莓派,ip 为
192.168.43.119
,用户名为pi
,密码为默认的raspberry
VScode 连接
安装插件
Remote-SSH
安装后侧边栏出现
远程资源管理器
,然后点新建,出现下面东东~照着他的提示输入就行,比如我以
pi
用户登录,树莓派内网ip
是192.168.2.116
,那么应该输入ssh pi@192.168.2.116 -A
打开
ssh 配置文件
查看一下,可以自定义修改配置,如下.- 我把 Host 后面的名字改成了树莓派,其他没动.
Host 树莓派
HostName 192.168.2.116
User pi
ForwardAgent yes打开输入对应用户的密码就可以登录了.
存在の问题
root-denied
- 某些系统对 ssh 不开放 root,比如
Deepin
,网上有开放方法
VScode-ssh-断开连接
按照上面配合后使用完全没有问题,但是 ssh 连接后一段时间你没有跟远程机传输数据的话,连接就会断开
网上搜了一大顿,有些解决办法,比如
修改ssh_config
,卸载Chinese插件
,TCP保活
,定时唤醒
等等…
最终,我用二分法查出了问题所在:
问题出自于一个叫
code time
的插件,它的issue
里面也提了这个 bug,还没解决.可以用
wakatime
替代,这个插件没事.
ssh-too-open
weidows@bogon ~ % ssh codeup.aliyun.com |
解决方案: [1]
chmod 400 ~/.ssh/id_rsa |
TCP-保活
没特殊需求的话不需要配置, 在
~/.ssh/config
里添加如下:ClientAliveInterval 10
借物表
[1]: SSH Key: “Permissions 0644 for ‘id_rsa.pub’ are too open.” on mac