• 使用 sshpass 工具来做名密码输入
  • 使用 alias 别名来做成命令语句、

Linux命令之非交互SSH密码验证-sshpass

ssh登陆不能在命令行中指定密码。sshpass的出现,解决了这一问题。sshpass用于非交互SSH的密码验证,一般用在sh脚本中,无须再次输入密码。

它允许你用 -p 参数指定明文密码,然后直接登录远程服务器,它支持密码从命令行、文件、环境变量中读取。

 

其默认没有安装,需要手动安装,方法如下:

sshpass下载地址:http://sourceforge.net/projects/sshpass/ 下载为一个 tar.gz的压缩包。

 

$ tar -zxvf sshpass-1.05.tar.gz

$ cd sshpass-1.05

$ ./configure –prefix=/opt/sshpass #指定安装目录

$ make

$ make install

$ cp /opt/sshpass/bin/sshpass /usr/bin/

 

经过以上步骤,sshpass安装完成,输入命令 sshpass 如出现如下提示即安装成功:

#从命令行方式传递密码 -p指定密码

$ sshpass -p \’123456\’ ssh user_name@host_ip

$ sshpass -p \’123456\’ scp root@host_ip:/home/test/t ./tmp/

 

alias命令

alias命令用来设置指令的别名。我们可以使用该命令可以将一些较长的命令进行简化。使用alias时,用户必须使用单引号\'\'将原来的命令引起来,防止特殊字符导致错误。

alias命令的作用只局限于该次登入的操作。若要每次登入都能够使用这些命令别名,则可将相应的alias命令存放到bash的初始化文件/etc/bashrc中。

语法

alias(选项)(参数)

选项

-p:打印已经设置的命令别名。

参数

命令别名设置:定义命令别名,格式为“命令别名=‘实际命令’”。

实例

alias 的基本使用方法为:

alias 新的命令=\'原命令 -选项/参数\'

例如:alias l=‘ls -lsh\'将重新定义ls命令,现在只需输入l就可以列目录了。直接输入 alias 命令会列出当前系统中所有已经定义的命令别名。

要删除一个别名,可以使用 unalias 命令,如 unalias l。

查看系统已经设置的别名:

alias -p
alias cp=\'cp -i\'
alias l.=\'ls -d .* --color=tty\'
alias ll=\'ls -l --color=tty\'
alias ls=\'ls --color=tty\'
alias mv=\'mv -i\'
alias rm=\'rm -i\'
alias which=\'alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde\'

版权声明:本文为jingmu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/jingmu/p/7977821.html