一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

linux设置SSH自动登陆(免密码,用户名)

时间:2015-10-09 编辑:简简单单 来源:一聚教程网

例子一

1、创建公钥、公钥

ssh-keygen -t rsa

把公钥复制到远程主机

无视它出来的任何提示,欢快的一路回车到底吧。

2、把公钥 id_rsa.pub 复制到远程机器的 /home/username/.ssh目录 并命名为 authorized_keys

方法1: 一步到位:scp ~/.ssh/id_rsa.pub username@hostname:~/.ssh/authorized_keys

方法2: 复制 scp ~/.ssh/id_rsa.pub username@hostname:~

登陆 ssh username@hostname

追加 cat id_rsa.pub >> .ssh/authorized_keys

各种手段,随你开心,反正复制过去就成~多台远程主机就多次复制~ 如果你本机登陆用户和远程登陆用户一致的话,就可以直接 ssh hostname直接登陆,下面就不用看了。

3、解决本地登陆用户与远程登陆用户不一致


好吧,这事很纠结,虽然不用输入密码了,但是还得 ssh username@hostname 来登陆,很不爽,你懂的。 其实解决也很简单(but是同事告诉我的,老脸一红),修改本地登陆用户的 ~/.ssh/config 文件,如果木有的话就自个儿建一个吧,内容如下:

Host hostname
user username
Host hostname2
user username2

这样,本地和远程登陆用户名不一致也可以 ssh hostname 登陆了。


例子二


在A 上运行命令:

# ssh-keygen -t rsa (连续三次回车,即在本地生成了公钥和私钥,不设置密码)

# ssh root@192.168.1.10 "mkdir .ssh" (在1.10上创建.ssh目录,需要输入密码)

# scp ~/.ssh/id_rsa.pub root@192.168.1.10:.ssh/id_rsa.pub (需要输入密码)

在B 上的命令:

# touch /root/.ssh/authorized_keys (如果已经存在这个文件, 跳过这条)

# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys ( 将id_rsa.pub 的内容追加到

authorized_keys 中)

回到A 机器:

# ssh root@192.168.1.10 (不需要密码, 登录成功)

在B机器上做RSYNC同步就不用在输入密码或者使用密码文件了。

rsync -avzu  --progress --delete root@192.168.1.9:/var/www/ /var/www (192.168.1.10客户端执行)

热门栏目