我们知道,连接linux服务器最好用的是ssh,linux机器连接linux机器,直接使用ssh命令即可,不过每次都要一堆登录参数,也是十分麻烦,最重要的是ssh连接时需要填写要登录服务器的ip,ip什么的又难记,难免会影响到工作效率,那有没有办法像window上的xshell一样,免登陆密码,并且登录时命令不用这么复杂呢?

答案是有的!今天就讲讲SSH免登录密码+Bash里的alias配置

主体思路

  1. 登录方先生成SSH密钥和公钥
  2. 将公钥内容添加到被被登录方的authorized_keys中
  3. 先登录一波,记录下。此时以后登录就能免密码了
  4. 修改bashrc,自定义自己的 骚操作 命令,简化命令

开工

生成密钥

老套路

1
$ ssh-keygen -t rsa

三个回车,ssh公钥私钥就搞到手了。

此时,公私钥存放的位置时用户目录的.ssh文件夹

1
$ cd ~/.ssh

私钥存着不管,把公钥内容拿了

1
$ cat id_rsa.pub

设置被登录服务器的授权key

登录服务器,并且找到

1
2
$ cd ~/.ssh
$ vim authorized_keys

此时将你的ssh公钥添加到授权key文件中

然后回到本机,先ssh登录一波机器,然后之后就能免密码登录了。

也可以用scp直接传公钥到服务器,具体命令 scp ~/.ssh/id_rsa.pub server_user_name@server_ip:server_targer_path ,具体内容根据自己实际情况填写

设置命令别名,简化命令

设置命令别名(alias),能够有效减少命令的长度,提高工作效率

1
$ vim ~/.bashrc

在里面找个空白位置添加上

1
2
3
# My aliases
alias your_command='ssh server_user_name@server_ip' #里面的内容根据自己实际情况填写
# eg alias dawnki='ssh root@123.123.123.123'

然后保存并退出,执行

1
source .bashrc

接下来你就可以用到别名命令了

就上面那个例子,免登陆+别名,我直接打短命令就能直接ssh登录到服务器了,大大提高工作效率

如果你想要原始命令只需在命令前加反斜杠

1
\ls

若要每次登入就自动生效别名,则把别名加在/etc/profile或~/.bashrc中。然后# source ~/.bashrc。若要让每一位用户都生效别名,则把别名加在/etc/bashrc最后面,然后# source /etc/bashrc。

总结

还有其他短命令就自己自定义吧!!不过 刚入门linux 的小伙伴还是先熟悉命令在偷懒,不然连原始命令都忘了( ⊙ o ⊙ )啊!