如何使用密码自动登录SSH登录?

分享于 

4分钟阅读

互联网

  繁體

问题:

如何使用密码自动进行SSH登录? 我正在配置测试虚拟机,因此不考虑太高的安全性。

ex )


echo password | ssh id@server



这不能工作。


回答 1:

不要使用密码,生成无密码的SSH密钥并将它推送到你的VM,

如果你已经有SSH密钥,则可以跳过这里步骤。


$ ssh-keygen -t rsa -b 2048


Generating public/private rsa key pair.


Enter file in which to save the key (/home/username/.ssh/id_rsa): 


Enter passphrase (empty for no passphrase): 


Enter same passphrase again: 


Your identification has been saved in/home/username/.ssh/id_rsa.


Your public key has been saved in/home/username/.ssh/id_rsa.pub.



将你的密钥复制到目标服务器:


$ ssh-copy-id id@server


id@server's password: 



现在尝试登录到计算机,使用 ssh'id@server',然后签入:


.ssh/authorized_keys



最后检查登录。


$ ssh id@server



id@server:~$ 



如果你想将密钥保存为密码短语,那么你可能还想查看使用 ssh-agent


回答 2:


$ sudo apt-get install sshpass


$ sshpass -p your_password ssh user@hostname




回答 3:

你只需添加三个简单步骤:

生成一个rsa密钥对:

 
# ssh-keygen



 

你现在可以不用密码登录:


# ssh-copy-id userid@hostname



你现在可以英镑的方式登录,而无需密码:


# ssh userid@hostname




使用预期:


#!/usr/bin/expect -f


#. /ssh.exp password 192.168.1.11 id


set pass [lrange $argv 0 0]


set server [lrange $argv 1 1]


set name [lrange $argv 2 2]



spawn ssh $name@$server


match_max 100000


expect"*?assword:*"


send --"$passr"


send --"r"


interact



例如:


#./1.ex password localhost ooshro


spawn ssh ooshro@localhost


ooshro@localhost's password: 


Linux ubuntu-1010-server-01 2.6.35-25-generic-pae #44-Ubuntu SMP Fri Jan 21 19:01:46 UTC 2011 i686 GNU/Linux


Ubuntu 10.10



Welcome to Ubuntu!


 * Documentation: https://help.ubuntu.com/


Last login: Tue Mar 1 12:41:12 2011 from localhost




这可能对你没有用,但是你可以使用Perl来做到这一点:

这可能对你没有任何用处,但你可以使用 Perl:


#!/usr/bin/perl 


use warnings; 


use strict; 



use Net::SSH::Perl; 


my $host = 'remote.serv.er'; 


my $user = 'root'; 


my $pass = 'hunter2'; 


my $ssh = Net::SSH::Perl->new('$host'); 


$ssh->login('$user', '$pass') or die"Oh noes! $!";




你肯定不想使用SSH密钥而不是密码? 这种方式既安全又自动。


它也可以在Windows上使用,并且语法与openssh主流的客户端兼容。


plink user@domain -pw mypass [cmd]



它在 Windows 上也可用,并且语法主要与openssh客户机兼容。



AUTO  log  password  SSH  
相关文章