ssh登录时在参数中加入密码的解决方案

摘要:
在使用ssh登录远程服务器的时候,在执行完sshuser@ip后,要输入登录密码,有时候登录密码记不住,这样以来Ian带来的很多的麻烦,有没有一种在ssh的参数中直接加入密码的方法呢?查看ssh的帮助我们发现ssh命令并不能在参数中制定密码。usage:ssh[-1246AaCfGgKkMNnqsTtVvXxYy][-bbind_address][-ccipher_spec][-D[bind_address:]port][-Elog_file][-eescape_char][-Fconfigfile][-Ipkcs11][-iidentity_file][-Laddress][-llogin_name][-mmac_spec][-Octl_cmd][-ooption][-pport][-Qquery_option][-Raddress][-Sctl_path][-Whost:port][-wlocal_tun[:remote_tun]][user@]hostname[command]于是各种google,找到sshpasssshpass:用于非交互的ssh密码验证,允许你用-p参数指定明文密码,然后直接登录远程服务器。它支持密码从命令行,文件,环境变量中读取。

在使用ssh登录远程服务器的时候,在执行完ssh user@ip后,要输入登录密码,有时候登录密码记不住,这样以来Ian带来的很多的麻烦,有没有一种在ssh的参数中直接加入密码的方法呢?查看ssh的帮助我们发现ssh命令并不能在参数中制定密码。

usage: ssh [-1246AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-E log_file] [-e escape_char]
           [-F configfile] [-I pkcs11] [-i identity_file] [-L address]
           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
           [-Q query_option] [-R address] [-S ctl_path] [-W host:port]
           [-w local_tun[:remote_tun]] [user@]hostname [command]

于是各种google,找到sshpass

sshpass:用于非交互的ssh 密码验证,允许你用 -p 参数指定明文密码,然后直接登录远程服务器。 它支持密码从命令行,文件,环境变量中读取。

首先在机器上安装sshpass

对于debian/ubuntu系统来说,安装方式很简单:

sudo apt-get install sshpass

对于其他的linux,可以编译sshpass的源码安装:

 wget http://sourceforge.net/projects/sshpass/files/sshpass/1.05/sshpass-1.05.tar.gz  
tar xvzf sshpass-1.05.tar.gz  
./configure 
make  
sudo make install

安装好之后,使用sshpass命令,得到如下:

Usage: sshpass [-f|-d|-p|-e] [-hV] command parameters
   -f filename   Take password to use from file
   -d number     Use number as file descriptor forgetting password
   -p password   Provide password as argument (security unwise)
   -e            Password is passed as env-var "SSHPASS"
   With no parameters -password will be taken from stdin
   -h            Show help (thisscreen)
   -V            Print version information
At most one of -f, -d, -p or -e should be used

于是把sshpass和ssh命令集合就能实现ssh登录的时候加入密码了,这样把登录某台计算机的命令写成shell脚本,后面就十分的方便了

#!/bin/bash
sshpass -p "XXX" ssh user@IP

免责声明:文章转载自《ssh登录时在参数中加入密码的解决方案》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇uniapp——自定义input清除事件kibana数据操作下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SSH Secure File Transfer上传文件错误:encountered 1 errors during the transfer解决办法

在使用SSH 工具向Linux服务器上传文件时,弹出 encountered 1 errors during the transfer 错误。 解决方案:   1.准备上传的那个文件所在目录路径存在(),将这个文件重新copy出来再上传即可。OK搞定!!   2.在SSH Secure File Transfer(上传文件那个),打开“Operation”...

Ubuntu18.04 Server 安装与设置

一、安装过程 略...... 安装过程在分区设置前出现卡死现象,可尝试进入F6选择高级安装选项,把"acpi=off"选中再进行安装 二、系统配置 1.删除普通用户 userdel -r userxxx 2.配置静态IP地址 vim /etc/netplan/01-netcfg.yaml # This file describes the network...

用SecureCRT、Xshell等终端软件SSH连接Linux缓慢 解决方法

在使用SecureCRT连接Linux时,出现窗口显示已连接,但命令行迟迟不出现的情况。让人十分恼火,尤其在时间紧迫的时候特么的想砸东西。原谅我这个急性子吧 问题原因: 其实问题就出在DNS解析IP上 解决办法: 1.备份一下配置文件:cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak 2.修改配置文件: vi...

SSH的通讯和认证

SSH的通讯和认证 转自:http://blog.sina.com.cn/s/blog_4e9440910100zxk0.html 之前一直对SSH的认证模棱两可,今天对SSH的通讯,认证和配置有了进一步的学习。 大多数文档都没有将SSH的连线加密通讯和SSH的登录加密认证特别地区分来讲,对于我这种对密钥不太熟悉的人来说常常引起一些歧义。 首先,必须把通讯...

连接ssh反应很慢,卡,延迟

1、关闭DNS反向解析在linux中,默认就是开启了SSH的反向DNS解析,这个会消耗大量时间,因此需要关闭。# vi /etc/ssh/sshd_configUseDNS=no在配置文件中,虽然UseDNS yes是被注释的,但默认开关就是yes2、关闭SERVER上的GSS认证在authentication gssapi-with-mic有很大的可能出...

Python标准库

简介: ssh是一个协议,OpenSSH是其中一个开源实现,paramiko是Python的一个库,实现了SSHv2协议(底层使用cryptography)。 有了Paramiko以后,我们就可以在Python代码中直接使用SSH协议对远程服务器执行操作,而不是通过ssh命令对远程服务器进行操作。 Paramiko介绍: paramiko包含两个核心组件:...