win10 已经使用的越来越顺手,而且越发喜爱在 win10 上工作了,随手记录一下一些使用的体验和配置。
工作中使用跳板机和服务器是不可避免的,win10 中内置了 SSH 服务,可以很方便的满足我们的需求。
首先,远程 SSH 必须要有一个给力的 terminal,这里我大力推荐 windows-terminal,微软自家研发的,很有 vscode 的味道,爱不释手,目前的缺点是必须有些版本(1903以上)才能用,而且看上去比较简单,配置起来略显麻烦。关于配置,可以参考新生代 Windows 终端:Windows Terminal 的全面自定义。
一般公司都是通过密钥登陆的,这里也比较推荐这种方式。关于密钥登录的方式以及 SSH 服务器的密钥登陆配置,可以自行查资料。不再赘述。
假设服务器已经配置了密钥登陆,那么服务器会产生一个公钥 id_rsa.pub
和私钥 id_rsa
,其中公钥会写入到服务器的 ~/.ssh/authorized_keys
中(可以添加多个公钥)。私钥就是我们用于登录服务器的。可以通过 ssh -i id_rsa xxx
来登录服务器。私钥和公钥是通过 ssh-keygen
产生的,如果产生的过程中私钥有密码,还需要输入密码。
以上登录方式每次都需要输入私钥路径,我们可以配置本地机器的 ~/.ssh/config
来达到简化目的。
1 | Host ubuntu |
注意,这里的
id_rsa
是服务器上的公钥(写进~/.ssh/authorized_keys
)对应的私钥。
如此处理之后,我们就可以直接通过 ssh ubuntu
来登录这台机器了。
跳板机的处理
跳板机一般通过 SSH ProxyCommand 来实现直连,命令和 Linux 有一点点区别。
1 | Host k8s006 |
这里是以上文设置的 ubuntu 作为跳板机。
这些需要注意的是,ProxyCommand 需要利用 ssh-agent
服务,这个在 windows 上是默认关闭的。我们可以将其设置为自动打开。
检查
ssh-agent
服务的状态:Get-Service | select -property name,starttype
在其中找到
ssh-agent
,查看其状态,一般情况下应该是 disabled。设置
ssh-agent
服务的启动方式(管理员运行):Set-Service -Name ssh-agent -StartupType Manual
这里可以是
Manual
,也可以是Automatic
。手动打开
ssh-agent
服务:Start-Service ssh-agent
如果设置不生效,或者为
Manual
,也可以手动打开。
保存密钥的密码
如果产生密钥的时候设置了密码,那么每次登录的时候都需要密码,可以通过设置缓存解决。
ssh-add ~/.ssh/id_rsa
。
这条命令也需要
ssh-agent
服务。