ssh是开发、运维以及各种日常任务中最经常用到的工具之一,通过ssh可以完成的事情也非常多,当然使用起来确实有时候也有一些费解。这篇文章是一个文章和技巧汇总,主要是把介绍ssh各种使用场景的文章和一些使用中注意事项汇总起来,在需要的时候随时查阅使用。
通过公钥私钥和进行登录
通过公钥和私钥登录服务器是一种比密码安全很多的方式,自己保留私钥,在服务器上存放公钥。相关的介绍性文章如下:
如果在使用公钥登录时遇到
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
如下这样的错误,说明私钥文件的权限给的太开了,用类似chmod 600 ~/.ssh/id_rsa
这样的命令来更改文件权限即可。
使用ssh agent
ssh agent可以避免把自己的私钥拷贝到远程服务器中,也是一种比较好的安全实践。
- ssh agent explained 这篇文章除了很详细的讲明白了ssh agent的使用方法之外,也说明了通过ssh跳板机来完成一些工作的方法。
端口映射
ssh可以用-L参数把本地可以访问到的端口映射到远程,也可以用-R参数把远程可以访问到的端口映射到本地。端口映射的应用非常广泛,一些教程如下:
商用免费的ssh客户端工具
在国内很多人常用的ssh客户端软件是xshell、secureCRT等收费软件,而且往往使用的是破解版,那么在这些的使用方式就会企业带来因为知识产权的原因被起诉或者赔偿的风险。或者即使一些ssh客户端有免费的License,但是在条款中也会对商业用途加以限制,还是会带来潜在的侵权风险。下面推荐一些商用免费的ssh客户端软件:
- Hyper,基于MIT License开源。
- MobaXTerm,Home版是免费的,也可以用于商业用途,但是Home版的License中说明,软件必须是使用者自己下载自己使用,如果是公司下载员工使用,就是一种redistribution的侵权行为。
- mRemoteNG,基于GPL2开源,除了ssh之外,还支持VNC, telnet,RDP,ICA等多种协议。
- Windows Terminal,微软的Windows Terminal,基于MIT License开源。当然Windows Terminal本身并非是ssh客户端,这里主要是说通过Windows Terminal结合WSL等进行ssh访问。
移动端的ssh工具
- Termius,相当好用的ssh工具,移动端和桌面端都支持,还可以同步数据,不过如果需要用的比较舒服还是要收费的。
- 阿里云官方app,在产品控制台中的常用工具里的“SSH工具”,不限于阿里云中的主机,支持密码和密钥对。
- JuiceSSH ,仅支持Android,也是一些功能需要付费使用。
本文仍在持续更新中…