要实现不用输入密码即可登录远程ssh服务器,需要这样操作:
切换到本地~/.ssh目录下,执行下面命令生成本地账户的RSA密钥对。
需要一个公钥和一个私钥,私钥自己保留,公钥是保存在远程服务器上的。
原理分析:当用ssh连接远程服务器时,服务器会找到对应的公钥,然后用那个公钥对一串东西进行加密,发送给客户端,客户端必须使用本地的私钥对这串东西进行解密,把结果返回给服务器,服务器核对无误,客户端便成功登录。
生成密钥的步骤:
上传id_rsa.pub文件,把内容追加到远程服务器账户的.ssh目录下,但是要追加到authorized_keys这个文件里。
因为远程服务器上的目录下默认没有authorized_keys这个文件,因此直接复制。
这样再加上一个命令的快捷方式,即可实现一键回车登录远程服务器了。
可以使用-D参数,默认打开一个本地的socks5代理。
root@toppc:~# echo "ssh root@www.jb200.com -D7070" > /usr/local/bin/xx
root@toppc:~# chmod +x /usr/local/bin/xx
root@toppc:~# xx
linux xiaoxia.org 2.6.18-238.12.1.el5.028stab091.1 #1 SMP Wed Jun 1 13:20:25 MSD 2011 i686 GNU/Linux
Ubuntu 10.10
Welcome to Ubuntu!
* Documentation: https://help.ubuntu.com/
Last login: Mon Oct 31 09:08:27 2011 from 120.196.48.170
root@toppc:~#