使用 alias 以及 sshpass 命令简化ssh登陆步骤

最近经常需要ssh远程登陆实验室的服务器,每次都需要输入ssh [email protected],并且输入密码

这让我不胜其烦,所以今天特地研究了如何简化这些步骤,以一步完成远程登陆,所幸已经找到解决方案,在此和大家分享。

方法其实有很多,这里我选择最简单实用的一种。


第一步:简化输入密码的步骤

小伙伴们可能会被输入密码的事情所困扰,每次都要输入密码是一件很烦的事情。

这里有一个命令可以解决我们的问题,就是sshpass,用法如下:

sshpass 参数 SSH命令(ssh,sftp,scp等)。
    参数:
        -p password    //将参数password作为密码。
        -f passwordfile //提取文件passwordfile的第一行作为密码。
        -e        //将环境变量SSHPASS作为密码。


首先你需要安装sshpass,apt-get install sshpass

接着将之前登陆的命令修改为

sshpass -p password ssh [email protected]

从此就再也不用输入密码了。

不过这里有一个问题,就是初次登陆会提示:“Are you sure you want to continue connecting (yes/no)”,这时用sshpass会不好使。

1.可以在ssh命令后面加上 -o StrictHostKeyChecking=no来解决。比如说上面的命令,就可以写作ssh -p efghi scp [email protected]:/home/xxx/test /root -o StrictHostKeyChecking=no。
2.或者写入配置文件:把 StrictHostKeyChecking no 加到/etc/ssh/ssh config 可以让ssh客户端自动接受新主机的hostkey,不用每次都自己输入yes

第二步:使用alias命令替换原来亢长的命令

终端中输入 gedit .bashrc 打开 .bashrc文件

寻找到 # some more ls aliases 这句话,在下面可以添加alias语句,例如 alias cdmydir='cd ~/mydir'

注意,以上的alias语句,等号两边不能有空格!

完成后保存。

在终端中输入source .bashrc 使其立即生效。

这时候回到终端,输入 cdmydir,就能达到cd ~/mydir 的效果




你可能感兴趣的:(UNIX)