如何优雅地远程登录?

539

在Konsole这样的终端下,我一般懒得用Terminus,直接终端免密连接。

⚡首先创建rsa密钥:

ssh-keygen -t rsa

可以不设置密码和phrase,一路回车,等待创建完成。创建完成后,密钥对会创建在~/.ssh/id_rsa 和 ~/.ssh/id_rsa.pub里

⚡客户端创建完成后,先连接到远程服务器上。一路打开到同样的~/.ssh目录下,创建authority_keys文件,将公钥内容复制到里面,保存退出
当然,都走到这一步了,就把端口也给换了把!

sudo vim /etc/ssh/ssh_config

PasswordAuthentication yes -> no //禁止密码登录
PubkeyAuthentication  yes //确认一下是否为yes
Port 22 -> ???? //喜欢什么数字就用什么吧,Port可以多输入几行。

更换端口后,把防火墙的默认ssh端口关掉,也不是为了安全,主要是太多人扫22端口了,日志都一大堆。
最后重启SSH服务:

sudo systemctl restart sshd

⚡既然PUBKEY登录这样的懒人操作都用上了,直接一步到位自动化到底吧🤓
大伙知道alias吗?它是一个Linux下的宏命令编辑器。我们可以通过定义一个别名的宏来封装SSH命令
我是oh-my-zsh用户,用户脚本在 ~/.zshrc执行,普通用户可以在 ~/.bashrc中添加指令:

alias sshlogin='ssh user@ip -p portnumber'

输入

source ~/.zshrc

⚡如果提示出错,可能是你在等号两边打了多余的空格
最后的最后~

sshlogin