ssh

麒麟V10 SP1系统VSCode远程调试(Server)报错问题

最近在尝试国产Linux操作系统麒麟V10(SP1),由于主力敲代码机器还是Windows,所以需要搭建一个远程编译、调试的开发环境,毫无疑问,Visual Studio Code是一个很好的选择,之前也挺轻松的搭建过配合CentOS、Ubuntu系统的远程编译调试环境,不过这次搭麒麟系统却踩了个坑:

Failed to set up socket for dynamic port forward to remote port

VSCode在setup remote时,下载安装server都没问题,但是后面就会报上面的错。网上搜索了下,发现是sshd服务没有开启AllowTcpForwarding导致的,于是:

sudo vi /etc/ssh/sshd_config

找到AllowTcpForwarding,将参数值调整为yes,当然如果是注释状态还要取消注释,然后重启sshd服务:

sudo systemctl restart ssh

重启后,再次尝试,结果报错依旧。研究了一番后发现这个问题在网上并不罕见,但大部分都围绕的是上面提到的这个配置项。不知道是不是麒麟系统的ssh服务默认配置与其他常见发行版不同,最终发现这个问题出在sshd_config中的PermitOpen这个配置,将它设置为any,重启服务后问题解决!

使用Token2Shell连接亚马逊AWS Lightsail的SSH(默认key pairs密钥对)

最近Amazon AWS的Lightsail最低配从$5降到了$3.5,于是注册了个账号来体验下(远离EC2,搞不好房子就给亚马逊了,哈哈),发现世界前3的云服务提供商就是不一样,开了实例后发现SSH默认都是高大上的密钥验证方式,这让我这只会用户名密码登陆的土鳖着实懵逼了一下,好在有Web版的console,也能把需要的服务顺利搭起来,不过不能粘贴实在是不爽,于是还是决定研究下密钥验证的SSH登陆。
观察后发现,默认情况下亚马逊会给你的Lightsail实例所在区域自动创建一个密钥对,而提供给你直接下载的只是私钥private key (https://lightsail.aws.amazon.com/ls/webapp/account/keys):

先Download下来,然后发现我惯用的Windows SSH客户端Token2Shell对密钥验证的设置很“隐晦”,看了半天文档才意识到要将公私钥以指定的规则放到指定的位置(默认C:\Users\XXX\Documents\Token2Shell\ssh\keys,私钥叫LightsailDefaultPrivateKey-ap-northeast-1,公钥就得叫LightsailDefaultPrivateKey-ap-northeast-1.pub,见此:https://choung.net/howto/token2shell/public-key-user-auth/),那么亚马逊的默认公钥在哪了呢?
Continue reading…