Mac 与服务器 ssh 无密码登录

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

这里只聊 bashzsh 这两种情况

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

ssh 无密码登录

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

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设置合适的权限。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、远程连接服务器 远程连接服务器对于管理员来说,是一个很有用的操作。它使得对服务器的管理更为方便。不过方便归方便...
    Zhang21阅读 39,661评论 0 20
  • 我们知道如果要向远程服务器传输数据和操作必须输入用户名和密码远程登录服务器 ,或用FTP等协议,都需要权限控制。 ...
    欢醉阅读 1,316评论 1 4
  • SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group...
    shuff1e阅读 1,814评论 1 11
  • 假设你是本地client上的一个用户"userA",想以用户“userB”的身份ssh到远程主机serverB上,...
    Gundy_阅读 377评论 0 1
  • ** SSH(安全外壳协议) **为 Secure Shell 的缩写,由 IETF 的网络小组(Network ...
    linfree阅读 871评论 4 7