SSH免密登录服务器

此教程仅适用于Mac

本地

生成密钥

ssh-keygen -t rsa

一路回车,各种提示按默认不要改,等待执行完毕。

作用

在~/.ssh里生成了两个密钥文件:id_rsa(私钥) id_rsa.pub(公钥)

放公钥到服务器

scp ~/.ssh/id_rsa.pub 服务器用户名@IP或域名:~/.ssh/

然后需要输入密码,再进行传输

服务器

加入验证

cd ~/.ssh

把id_rsa.pub的内容加入到服务器端的默认验证文件authorized_keys

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

如果.ssh目录下没有authorized_keys文件,则新建一个

vi authorized_keys

这样之后就可以免密登录了,如果要使用别名登录,可以继续配置

本地

配置config文件

vi ~/.ssh/config

加入以下内容:

1
2
3
4
5
6
7
8
9
Host baidu #别名,域名缩写

HostName baidu.com #完整的域名

User root #登录该域名使用的账号名

PreferredAuthentications publickey  #有些情况或许需要加入此句,优先验证类型ssh

IdentityFile ~/.ssh/id_rsa #私钥文件的路径

配置好像很简单。。完成之后scpsftp都不需要输入密码了哟~

使用命令缩写

可以去修改用户目录下的.bash_profile文件

1
vi ~/.bash_profile

比如

1
alias la="ls -a"  #添加这一句就实现 la = ls -a的效果