最近升级了 windows 11,与网上的评价不同,个人感受还不错(或许是体验的还不够深入?)
Windows 11 中支持使用 Windows Terminal 作为默认的 terminal,大赞!!
这篇文章是主要说说 「如何使用 windows 自带的 SSH 连接服务器」(大概可以扔掉 SSH 客户端了~~)
打开 powershell,输入 ssh
通常就能看到下面的输出:
PS C:\Users\Administrator> ssh
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]
[-b bind_address] [-c cipher_spec] [-D [bind_address:]port]
[-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]
[-i identity_file] [-J [user@]host[:port]] [-L address]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
[-Q query_option] [-R address] [-S ctl_path] [-W host:port]
[-w local_tun[:remote_tun]] destination [command]
PS C:\Users\Administrator>
这就说明电脑自带 SSH,命令,格式与 linux 上的 ssh 一模一样
常用操作
下面记录一下常用操作
生成公钥和私钥
使用下面的命令会在 用户文件夹下创建属于本机的 公钥和私钥
ssh-keygen -t rsa
生成的 公钥和私钥 会保存在 用户目录的 .ssh
目录下:比如此处的 C:\Users\Administrator\.ssh
你会得到:
id_rsa.pub # 公钥文件
id_rsa # 密钥文件
但有些软件对这样格式的密钥兼容性较差(比如说 rdm),我们可以转换一下
ssh-keygen -p -m pem -f ~/.ssh/id_rsa
ssh 配置文件
下面贴出一份完整的配置文件(在 .ssh
目录下编写配置文件 config
)
##
# 通用配置
##
Host *
# 心跳发送间隔,用于维持长连接不主动关闭
ServerAliveInterval 20
# 心跳失败重试次数
ServerAliveCountMax 10
##
# 配置1,此处的 xx 可以更换为你习惯的名字
##
Host xx
# 主机 ip
HostName x.x.x.x
# 主机端口
Port 22
# 连接用户
User root
##
# 配置2,使用代理连接
##
Host xx2
# 主机 ip
HostName x.x.x.x
# 主机端口
Port 22
# 连接用户
User root
# 配置的本机代理,如果要使用代理,需要安装 nmap 工具
ProxyCommand ncat --proxy-type socks5 --proxy 127.0.0.1:1080 %h %p
使用配置
使用以上内容就很简单了
ssh xx2
这样就通过 ssh 连上 xx2 这台机器了
美中不足
- 无法记录密码(如果想免密码就使用密钥登录)
- 查看主机列表和对应 ip 不方便(如果有更好的办法请告诉我!)
Q.E.D.