July's Blog - will
type: channel
link: https://yangwenqing.com/tag/will/
items: Linux VPS服务器开启SSH Key免密码登录
items: Mac OS系列 iTerm2 与 Zsh

Linux VPS服务器开启SSH Key免密码登录
type: item
date: 2020-11-03T05:21:00+08:00
description: Linux VPS服务器开启SSH Key免密码登录博主使用SSH登录VPS一直习惯用复杂密码+非22端口，然而这些天发现吃灰很久的小鸡。CPU进程都是满的，使用SSH登录VPS查看CPU占用率，发现SSH密码已被黑客爆了并安装了挖矿程序导致VPS一直负荷运行。尝试几次卸载挖矿程序都失败了，最后以重装系统告终。可怕~赶紧换用Key秘钥登录。生成秘钥先用SSH+密码方式登录VPS,输入以下命令生成一对秘钥,默认回车即可ssh-keygen终端中会出现提示Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Created directory '/root/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:cTSMnqP5zXAer21hc9UtPJA8ZU2HYdEUiFwTyna0Hjw root@debian The key's randomart image is: +---[RSA 2048]----+ | +oo=+B*+| | .o+=.=o.o| | ...=.E+ | | ++ o=o | | oS. .+ ..| | o . o . = o| | . * + o o | | . B + | | .* | +----[SHA256]-----+保存私钥使用cat命令查看VPS生成的私钥，在本机新建一个文本，将私钥保存下来并命名为“id_rsa”不要后缀名，将它放到你想放的位置，一般~/.ssh中cat /root/.ssh/id_rsa 或者使用scp命令将私钥id_rsa从远程复制到本地/Users/july/Downloads/路径下root@127.0.0.1自行替换用户@你的IPscp -P 22 root@127.0.0.1:/root/.ssh/id_rsa /Users/july/Downloads/配置公钥用SSH+Key登录,需将VPS的公钥名字改成authorized_keyscd /root/.ssh/ mv id_rsa.pub authorized_keys # 修改公钥为只有属主有读写权限(安全考虑) chmod 600 authorized_keys # 修改SSH目录为只有属主有读写执行权限(安全考虑) chmod 700 /root/.ssh开启 SSH+Key登录用vi命令编辑sshd_configvi /etc/ssh/sshd_config找到以下两个参数，如果没有可以自行加上去，前面如果有#需要先删除掉#注释RSAAuthentication no PubkeyAuthentication no将以上两个参数后的no改为yes即可 (一般默认就是yes不用改) 。关闭 SSH+密码登录用vi命令编辑sshd_configvi /etc/ssh/sshd_config找到以下这个参数，如果没有可以自行加上去，前面如果有#需要先删除掉#注释PasswordAuthentication yes将这个参数后的yes改为no即可SSH+Key登录SSH+Key配置好后就可以重启SSH服务，进行登录了/etc/init.d/ssh restart使用SSH+Key登录ssh -p aaa root@xxx.xxx.xxx.xxx -i ~/.ssh/id_rsa注意：[scode type="yellow"]aaa:端口 ~/.ssh/id_rsa:本机上私钥文件路径[/scode]如果用SSH+Key登录VPS服务器时,终端中显示下面内容:[scode type="blue"]Permissions 0644 for 'id_rsa' are too open.It is required that your private key files are NOT accessible by others.This private key will be ignored.[/scode]本机上的私钥文件权限太大,被忽略使用。在本机上执行以下命令,修改私钥文件的权限即可。chmod 0600 id_rsa

Mac OS系列 iTerm2 与 Zsh
type: item
date: 2019-05-11T11:47:00+08:00
description: iTerm2 与 Zsh俗话说“工欲善其事，必先利其器”，作为一个长期在命令行下面工作的人，Mac那个自带的Terminal功能太弱了一些，长此用下去，必定是不能忍的。于是，终于轮到此篇的主角上场了：iTerm2 和 Zsh， 这次，我们来一场iTerm2和Zsh的体验之旅……iTerm and ZshiTerm2[scode type="blue"]iTerm2是一款完全免费的，专为 Mac OS 用户打造的命令行应用，当然，也是程序员们的最爱。iTerm2本身支持很多自定义化的设置，比如自定义配色，自定义快捷键，方便的水平和垂直分屏功能，等等…… 毫不避讳的讲，说它是如今Mac下最好的终端工具也不为过。当然，日常工作与开发中，用它替代Mac自带的Terminal也是不二的选择。有了终端利器iTerm2，当然还得配上一款顺手的shell。众所周知，如今用得最广泛的默认shell，就是bash了，因为它也是很多Linux发行版默认带的shell。作为默认自带的shell，其特点，也就是：特点不是很明显 -_-# 不太方便的地方是：可定制性和可扩展性有限，自动补全功能不够强大…… 所以，既然用上了iTerm2，还需要一款更为强大的shell来配合。首当推荐的就是Zsh了。[/scode]Zsh[scode type="green"]之所以叫Zsh，其含义是：The last shell you’ll ever need!可以理解为，一旦用上它，就别无所求了。跟Bash相比，Zsh的补全功能强大了许多，可以自动补全命令、参数、文件名、进程、用户名、变量、权限符，等等…… 另外，还支持插件，通过插件又可以扩展出许多功能来。既然有了Zsh，那Oh My Zsh又是啥呢？因为 zsh 的默认配置极其复杂繁琐，让人望而却步，直到有了Oh My Zsh这个开源项目，让zsh配置降到0门槛。而且它完全兼容 bash 。所以，我们可以理解为Oh My Zsh是一个方便你配置和使用Zsh的一个开源工具。掌握了这些姿势，随后我们可以开始动手配置我们逼格满满的终端环境了……[/scode]安装 iTerm2安装iTerm2比较简单，直接从官网下载安装即可。安装好之后，我们还需要进行一系列的设置才行。iTerm2 主题iTerm2支持许多的主题配色，可以自己定义，也可以参考网上现成的主题配色。我个人比较喜欢Solarized配色，因为可以配合Vim 里面的Solarized主题。推荐一些常用的主题配色的预设置文件下载地址：iTerm2 Solarized 配色iTerm2 配色合集网站iTerm2 配色合集GitHub地址这些配色预设置文件，可以直接导入到iTerm2中，然后直接在设置中选择即可iTerm2iTerm2 字体为了终端下能正确的显示fancy字符，需要安装powerline字体，这样fancy字符不至于显示为乱码。 GitHub上已经有制作好的Powerline字体，下载直接安装到系统即可。安装好之后，就可以选择一款你喜欢的Powerline字体了路径：Preferences -> Profiles -> Text -> Font -> Change Font[button color="success" icon="glyphicon glyphicon-save" url="https://github.com/powerline/fonts" type=""]powerline字体[/button]安装 ZshMac OS默认应该自带了zsh了，安装之前可以确认一下。 cat /etc/shells # List of acceptable shells for chpass(1). # Ftpd will not allow users to connect who are not using # one of these shells. /bin/bash /bin/csh /bin/ksh /bin/sh /bin/tcsh /bin/zsh # 有`/bin/zsh`表明已经预装zsh了，没有的话，可以通过brew命令来安装。 brew install zsh接下来，我们需要安装的是OhMyZsh。安装Oh-My-ZshOhMyZsh的安装也比较简单，官网提供一键安装脚本。默认安装过后，使用的是robbyrussell主题。# 安装前把git curl命令给打上 brew install git curl # 安装Oh-My-Zsh sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" ```` ### Oh-…