如何自动输入密码ssh连接到其他机器

想在shell脚本里ssh连接到另外一台服务器后执行一些命令,但是不希望通过交互方式输入登录密码。

主要的解决方法有三种:

1. 生成ssh公钥,建立和对方机器的信任关系;

2. 使用expect脚本;

3. 使用sshpass

这里介绍一下sshpass

yum install sshpass -y

实例:

[[email protected] bin]# ./sshpass -p 123456  ssh -o StrictHostKeyChecking=no    [email protected] "ls -t | head -n 1"

[[email protected] bin]# ./sshpass -p 123456 scp -o StrictHostKeyChecking=no  /root/abc.sh  192.168.1.15:/root

-p:指定ssh的密码

-o StrictHostKeyChecking=no 避免第一次登录出现公钥检查。也就是避免出现

参考资料:http://blog.csdn.net/hepeng597/article/details/8727052

http://blog.csdn.net/zj0910/article/details/40679301

时间: 2024-10-26 06:41:59

如何自动输入密码ssh连接到其他机器的相关文章

ssh 自动输入密码连接

公司的linux服务器和交换机都是用户名和密码ssh连接的,每次连接时都要手动输入密码感觉很是麻烦 如果连接时不用输入密码就方便很多了,于是网上查了下说是有三种解决方法 1. 生成ssh公钥,建立和对方机器的信任关系: 2. 使用expect脚本: 3. 使用sshpass. 个人比较喜欢使用sshpass,配上 shell脚本后效率提高很多 sshpass 安装 (centos) yum install sshpass 基本用法:sshpass -p [密码] ssh [user]@[host

Linux下无需输入密码自动登陆ssh服务器方法

用OpenSSH在linux下登陆ssh服务器时,每次都提示要输入密码,而且使用vim 的netrw插件编辑远程文件时每次修改后保存都要输密码,非常麻烦.查看了netrw的help文档,发现已经介绍了自动登陆ssh服务器的方法: 1. 创建一个公开/私密钥对(在客户端机器上进行) ssh-keygen -t rsa (saving the file in ~/.ssh/id_rsa as prompted) 输入上面的命令(括号内的不用输入)后,会提示输入passphrase,直接按两次回车,不

linux建立单向信任关系(让ssh连接不用输入密码)

传统手工建立单向信任关系 说明:当我们使用ssh命令时,会发现每次都得输入密码,本次实验可以实现ssh连接时不用输入密码. 一.在server1(192.168.199.128)上 1.首先新建用户 #useradd liu 2.切换用户 #su - liu 3.生成密钥 #ssh-keygen(都敲回车) 4.建立公钥文件 #cd  .ssh/ #cat id_rsa.pub >authorized_keys #chmod 600 authorized_keys 二.在server2(192.

ssh自动输入密码脚本 切换目录脚本

利用expect的,首先查看expect,命令:which expect #!/usr/bin/expect -f spawn ssh 用户名@ip地址 expect "assword:" send "password\r" interact 自动输入密码,切换目录 #!/usr/bin/expect -f spawn ssh 用户名@ip地址 -t "cd xxxxx;bash --login" expect "assword:&qu

Mac下ssh连接远程服务器时自动断开问题

在mac下使用securecrt通过ssh连接远程服务器时,总会一段时间没有动作后,ssh被自动断开.在windows下用xmanager貌似没有遇到过这个问题. 在网上找了解决方法如下: 客户端配置: Global.ini文件中将D:"Disconnect After Resume Timeout"=00000000改为D:"Disconnect After Resume Timeout"=FFFFFFFF securecrt界面上配置:send string \

从一台Centos机器ssh连接另一台机器报错

从一台Centos机器ssh连接另一台机器报错 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING

解决SSH连接linux时长时间不操作自动断开

最近重装Linux系统,但是这次ssh连接云服务区Linux系统时,经常出现一段时间不操作,连接自动中断,表现为光标还在闪动,但是却无法操作.只好关闭终端,重新连接,很是麻烦. 为此,通过网络查找,找到一个解决方法,记录一下,以便以后查看. 修改/etc/ssh/sshd_config文件 sudo vim /etc/ssh/sshd_config 查找是否有ClientAliveInterval 0和ClientAliveCountMax 3,如何没有,则在文件后添加 ClientAliveI

SSH连接自动断开的解决方法(deb/rpm)

######### 修改后的: ## # tail -f -n 20 sshd_config#MaxStartups 10:30:60#Banner /etc/issue.net # Allow client to pass locale environment variablesAcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server # Set this to 'yes' to enable PAM authenticat

linux脚本实现自动输入密码

使用Linux的程序员对输入密码这个举动一定不陌生,在Linux下对用户有严格的权限限制,干很多事情越过了权限就得输入密码,比如使用超级用户执行命令,又比如ftp.ssh连接远程主机等等,如下图 那么问题来了,在脚本自动化执行的时候需要输入密码怎么办?比如你的脚本里有一条scp语句,总不能在脚本执行到这一句时手动输入密码吧 针对于ssh或scp命令,可能有人会回答是建立信任关系,关于建立ssh信任关系的方法请自行百度Google,只需要两行简单的命令即可搞定,但这并不是常规的解决方案,如果是ft