almajiro/authorized-keys

此包的最新版本(dev-master)没有可用的许可信息。

authorized_keys 管理器

dev-master 2019-11-30 10:13 UTC

This package is auto-updated.

Last update: 2024-09-29 05:28:57 UTC


README

StyleCI Build Status Coverage Status

管理 SSH authorized_keys

安装

composer require almajiro/authorized-keys

示例

创建新的 authorized_keys

use Almajiro\AuthorizedKeys\AuthorizedKeys;
use Almajiro\AuthorizedKeys\Entities\PublicKey;

$keys = new AuthorizedKeys();
$publicKey = new PublicKey('AAAAB3NzaC1yc2EAAAADAQABAAABAQDZd6ljNm...', 'ssh-rsa', [], 'admin@localhost');
$keys->add($publicKey);

$keys->save('~/.ssh/authorized_keys');

从 authorized_keys 读取

use Almajiro\AuthorizedKeys\AuthorizedKeys;

$keys = AuthorizedKeys::open('~/.ssh/authorized_keys');
var_dump($keys);

object(Almajiro\AuthorizedKeys\AuthorizedKeys)#1 (1) {
  ["keys":"Almajiro\AuthorizedKeys\AuthorizedKeys":private]=>
  array(3) {
    [0]=>
    object(Almajiro\AuthorizedKeys\Entities\PublicKey)#2 (4) {
      ["key":"Almajiro\AuthorizedKeys\Entities\PublicKey":private]=>
      string(372) "AAAAB3NzaC1yc2EAAAADAQABAAABAQDZd6ljNm..."
      ["type":"Almajiro\AuthorizedKeys\Entities\PublicKey":private]=>
      string(7) "ssh-rsa"
      ["options":"Almajiro\AuthorizedKeys\Entities\PublicKey":private]=>
      array(2) {
        [0]=>
        object(Almajiro\AuthorizedKeys\Entities\Options\Command)#4 (1) {
          ["command":"Almajiro\AuthorizedKeys\Entities\Options\Command":private]=>
          string(16) "ls"
        }
        [1]=>
        object(Almajiro\AuthorizedKeys\Entities\Options\NoAgentForwarding)#5 (0) {
        }
      }
      ["comment":"Almajiro\AuthorizedKeys\Entities\PublicKey":private]=>
      string(17) "admin@localhost"
    }
    [1]=>
    object(Almajiro\AuthorizedKeys\Entities\PublicKey)#6 (4) {
      ["key":"Almajiro\AuthorizedKeys\Entities\PublicKey":private]=>
      string(372) "AAAAB3NzaC1yc2EAAAADAQABAAABAQDZd6ljNm..."
      ["type":"Almajiro\AuthorizedKeys\Entities\PublicKey":private]=>
      string(7) "ssh-rsa"
      ["options":"Almajiro\AuthorizedKeys\Entities\PublicKey":private]=>
      array(0) {
      }
      ["comment":"Almajiro\AuthorizedKeys\Entities\PublicKey":private]=>
      string(0) ""
    }

使用一些选项添加公钥

use Almajiro\AuthorizedKeys\Entities\PublicKey;
use Almajiro\AuthorizedKeys\Entities\Options\NoX11Forwarding;

$publicKey = new PublicKey(
	'AAAAB3NzaC1yc2EAAAADAQABAAABAQDZd6ljNm...',
	'ssh-rsa',
	[
		new NoX11Forwarding()
	],
	'admin@localhost'
);

$keys->add($publicKey);