Tag

SSH

远程连接内网路由器

看标题会感觉是一个很简单的操作,但是不是。路由器后台会自动重定向到ip访问,导致常规端口转发不生效。

我尝试过zerotier,但是和公司的局域网网段重叠了,遂放弃。

今天发现ssh可以做socks代理,于是解决了。

ssh指令ssh -D 1080 -N -q user@host -p port打开一个socks代理

然后下一个火狐(可以下便携版)

进入设置拉到最下面找到网络设置,配置socks代理(别写http的)

然后就可以直接访问了

vscode ssh 插件配置及使用

安装ssh插件

刚刚安装好是空白的

配置ssh连接

点击右上角的齿轮

选择一个地方创建设置,此处我选择第一个,他会创建一个新的默认配置

参考 https://zhuanlan.zhihu.com/p/35922004

此处我连接的远程服务器是使用密钥的,示例配置如图

连接远程服务器

配置完成后保存,点击ssh targets中ssh右侧的按钮在新窗口中打开连接

选择服务器类型,此处我是linux

首次连接会提示是否接收服务器指纹,选择continue

若使用的用户不是管理员用户,可能需要参考以下文章配置config和私钥(若使用私钥)文件权限

https://windowsreport.com/bad-owner-or-permissions-on-ssh-config/

远程文件

点击左侧的资源管理器,可以打开远程文件夹(不要打开文件很多的文件夹,比如/,插件会无法监听文件变更)

远程命令行

在下方的状态栏上向上拖动打开命令行

Linux设置ssh并通过ssh密钥登陆

进入 .ssh

# 进入 .ssh 文件夹
cd ~/.ssh

处理旧密钥

# 处理旧的密钥文件
mv id_rsa id_rsa.bak
mv id_rsa.pub id_rsa.pub.bak

创建密钥

# 输入后按3次回车
ssh-keygen -t rsa

公钥写入到文件

# 将公钥写入authorized_keys
cat id_rsa.pub >> authorized_keys

问题

若出现问题无法登陆,则检查日志 /var/log/secure

写入公钥后无法登陆

Authentication refused: bad ownership or modes for file /root/.ssh/authorized_keys

原因:

sshd 为了安全,对属主的目录和文件权限有所要求。如果权限不对,则 ssh 的免密码登陆不生效

用户目录权限为 755 或者 700,就是不能是 77x

.ssh 目录权限一般为 755 或者 700

rsa_id.pub 及 authorized_keys 权限一般为 644

rsa_id 权限必须为 600

# 设置权限(权限错误会无法登陆)
cd ~/.ssh
chmod 644 authorized_keys id_rsa.pub && chmod 600 id_rsa && chmod 700 .