ssh自动输入密码登录服务器/ssh免输入密码登录/非交互ssh 密码验证

由于经常需要登录一些远程的服务器,每次都需要将密码重输一遍,如下:
#ssh 用户名@我的服务器的ip
用户名@我的服务器的ip's password: (这里需要手动输入密码后回车
Linux redcat 2.6.31-20-generic #58-Ubuntu SMP Fri Mar 12 05:23:09 UTC 2010 i686
Last login: Sat Apr 10 14:34:05 2010 from localhost
登录成功

我想偷懒,怎么办?下面我就给大家说一下偷懒的几种办法


方法一、通过密钥验证 (通过方法一的密钥验证就安全了许多,配置也简单,而且同时ssh、scp、sftp等登录都免去了输入密码的麻烦,推荐使用。
下面的方法二密码匙明文传送,安全性不高。

1.生成密匙对,我用的是rsa的密钥。使用命令 "ssh-keygen -t rsa"

#ssh-keygen -t rsa
//一路回车在当前用户的根目录下的.ssh目录生成id_rsa.pub公钥

2.将公钥放到服务器上(注意存放目录位置)

#scp ~/.ssh/id_rsa.pub 用户名@你的服务器的ip:~/.ssh/authorized_keys
//将本地生成的公钥拷贝到远程服务器的下并改名为authorized_keys

这样就大功告成了!通过ssh登录、通过scp或者sftp传输文件啥的都不用再输入密码了!很是方便!


方法二、安装sshpass
# sudo apt-get install sshpass
安装完成后使用sshpass允许你用 -p 参数指定明文密码,然后直接登录远程服务器。例如:

# sshpass -p '你的密码' ssh 用户名@服务器ip地址

用 '-p' 指定了密码后,还需要在后面跟上标准的 ssh 连接命令。

你可能感兴趣的:(ssh自动输入密码登录服务器/ssh免输入密码登录/非交互ssh 密码验证)