SSH Login without Password [SSH登录免密码登录]
Published: Jul. 11, 2018
SSH是Secure Shell的缩写,主要用来进行安全远程登录。
正常的SSH登录需要提供用户名和密码,反复输入密码在单机环境下是可以接受的,但是在多机器的机群中这样的重复操作就会比较麻烦。通过公私钥登录可以解决这个问题。
在Ubuntu系统中,如下命令可以完成公私钥登录。
ssh-keygen -t rsa [在master机器上,通过rsa方法生成公私钥]
此时~/.ssh
文件夹下会有id_rsa
和id_rsa.pub
ssh-copy-id ip/hostname [输入对应的slave机器的ip和hostname]
此命令会把对应的公钥拷贝到对应的host机器。
SSH Localhost without password
有些时候我们能需要SSH localhost,也就是用本机ssh本机[这里一般需要安装ssh-sever],比如使用在Hadoop的standalone
模式下通过start-dfs.sh
或者stop-dfs.sh
来启动HDFS。这时,为了避免频繁输入密码,可以使用如下方法
ssh-keygen -t rsa -P ""
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys