SSH免密码登陆
利用本地机器ssh到其他Linux主机是非常频繁的事情,这里简单总结一下Mac如何ssh连接和免密码ssh的配置。
1.ssh连接配置
使用ssh连接客户机,首先需要保证本地安装了openssh-client
(一般都有安装,如果没有就sudo brew install openssh-client
)并且客户机安装并启动了openssh-server
。
Linux上openssh-server
安装:
sudo apt-get install openssh-server
启动:
sudo /etc/init.d/ssh start
确认是否启动了:
ps -e |grep ssh
如果查看到sshd,则表示已经启动,就可以在本地ssh登陆:
ssh username@ip_addr
当然输入上述指令之后,需要输入用户对应密码才能登陆。
2.免密码登陆配置
首先,在本地机生成秘钥:
ssh-keygen -t rsa
一路回车即可在~/
目录下生成两个秘钥文件id_rsa(私钥)和id_rsa.pub(公钥),。
然后利用scp
命令将公钥放到客户机Linux上:
scp ~/.ssh/id_rsa.pub username@ip_addr:/home/username/.ssh/
然后登陆客户机,将id_rsa.pub内容加入到默认验证文件authorized_keys中:
cat -n ~/.ssh/id_rsa.pub > authorized_keys
配置本地机ssh config文件:
vi ~/.ssh/config
内容如下:
Host username_server #用来ssh登录的别名,可以任意设置
HostName ip_addr #客户机的ip地址或者域名
User username #客户机用户名
IdentityFile ~/.ssh/id_rsa #私钥文件
这样就配置完毕,就可以通过下面指令登录客户机:
ssh username_server