Mac 与服务器 ssh 无密码登录

今天我们也来聊聊 Mac 与服务器 ssh 无密码登录的问题

这里只聊 bashzsh 这两种情况

  • bash: 编辑 vim ~/.bash_profile,如果没有,那么新建它;有的话就打开修改。
    zsh 的话,编辑 vim ~/.zshrc, 道理相同,在最后面追加就可以了。
  • 添加别名: alias jianwen="ssh [email protected]" 等号前后不能出现空格
  • 使配置命令生效: bash 下执行 source ~/.bash_profile,此条命令是使 bash 重新载入刚才的配置命令并生效。 如果是 zsh,就用 source ~/.zshrc

ssh 无密码登录

  • 生成密钥:如果需要自定义文件名称可以使用 -f 参数
#可以看到两个密钥文件:id_rsa(私钥) id_rsa.pub(公钥)
#公钥是加密,私钥是解密(不要外传私钥)
$ ssh-keygen -t rsa -C "[email protected]" 

ssh-copy-id 命令可以把本地主机的公钥复制到远程主机的 authorized_keys 文件上,ssh-copy-id 命令也会给远程主机的用户主目录(home)和~/.ssh, 和 ~/.ssh/authorized_keys 设置合适的权限。

ssh-copy-id [-i [identity_file]] [user@]machine

-i:指定公钥文件

例子
1、把本地的 ssh 公钥文件安装到远程主机对应的账户下:

ssh-copy-id user@server 
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server

- 将公钥复制到服务器
~~ ~~# 先登录到远程服务器~~ ~~# 有的话添加(有的话不要删掉,因为别人可能做过免密登录),没有则新建一个就行~~ ~~# 以上要注意的是: 公钥要放在登录服务器所用的账号的家目录下,比如你用 jianwen 登录 远程服务器,就要把公钥放到 /home/jianwen/.ssh/ 下, authorized_keys 文件也是在这个目录下。~~ ~~scp ~/.ssh/id_rsa.pub username@hostname:~/.ssh~~ ~~cd ~/.ssh~~ ~~cat -n /root/.ssh/id_rsa.pub >> authorized_keys~~ ~~

- 修改服务端 ~/.ssh 文件夹权限为 700,修改 id_rsa.pub 的权限和 authorized_keys的权限
~~ ~~chmod 700 ~/.ssh~~ ~~chmod 600 ~/.ssh/authorized_keys~~ ~~

- 在 Mac 端 使用 ssh-copy-id User@ip 然后输入一次密码就可以了,以后就可以正常使用别名登录了

注:* ssh-copy-id 命令可以把本地主机的公钥复制到远程主机的authorized_keys文件上,ssh-copy-id命令也会给远程主机的用户主目录(home)和~/.ssh, 和~/.ssh/authorized_keys设置合适的权限。

你可能感兴趣的:(Mac 与服务器 ssh 无密码登录)