net-ssh 6.1.0 → 7.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/.dockerignore +6 -0
- data/.github/FUNDING.yml +1 -0
- data/.github/config/rubocop_linter_action.yml +4 -0
- data/.github/workflows/ci-with-docker.yml +44 -0
- data/.github/workflows/ci.yml +94 -0
- data/.github/workflows/rubocop.yml +16 -0
- data/.gitignore +4 -0
- data/.rubocop.yml +12 -1
- data/.rubocop_todo.yml +475 -376
- data/CHANGES.txt +64 -3
- data/DEVELOPMENT.md +23 -0
- data/Dockerfile +29 -0
- data/Dockerfile.openssl3 +17 -0
- data/Gemfile +2 -0
- data/Gemfile.noed25519 +2 -0
- data/Gemfile.norbnacl +12 -0
- data/README.md +38 -22
- data/Rakefile +92 -0
- data/SECURITY.md +4 -0
- data/docker-compose.yml +25 -0
- data/lib/net/ssh/authentication/agent.rb +29 -13
- data/lib/net/ssh/authentication/certificate.rb +14 -11
- data/lib/net/ssh/authentication/constants.rb +0 -1
- data/lib/net/ssh/authentication/ed25519.rb +14 -11
- data/lib/net/ssh/authentication/ed25519_loader.rb +4 -7
- data/lib/net/ssh/authentication/key_manager.rb +65 -36
- data/lib/net/ssh/authentication/methods/abstract.rb +12 -3
- data/lib/net/ssh/authentication/methods/hostbased.rb +3 -5
- data/lib/net/ssh/authentication/methods/keyboard_interactive.rb +2 -2
- data/lib/net/ssh/authentication/methods/none.rb +6 -9
- data/lib/net/ssh/authentication/methods/password.rb +2 -3
- data/lib/net/ssh/authentication/methods/publickey.rb +57 -17
- data/lib/net/ssh/authentication/pageant.rb +97 -97
- data/lib/net/ssh/authentication/pub_key_fingerprint.rb +3 -3
- data/lib/net/ssh/authentication/session.rb +25 -17
- data/lib/net/ssh/buffer.rb +71 -51
- data/lib/net/ssh/buffered_io.rb +25 -26
- data/lib/net/ssh/config.rb +33 -20
- data/lib/net/ssh/connection/channel.rb +84 -82
- data/lib/net/ssh/connection/constants.rb +0 -4
- data/lib/net/ssh/connection/event_loop.rb +30 -24
- data/lib/net/ssh/connection/keepalive.rb +12 -12
- data/lib/net/ssh/connection/session.rb +109 -108
- data/lib/net/ssh/connection/term.rb +56 -58
- data/lib/net/ssh/errors.rb +12 -12
- data/lib/net/ssh/key_factory.rb +7 -8
- data/lib/net/ssh/known_hosts.rb +86 -18
- data/lib/net/ssh/loggable.rb +8 -9
- data/lib/net/ssh/packet.rb +1 -1
- data/lib/net/ssh/prompt.rb +9 -11
- data/lib/net/ssh/proxy/command.rb +1 -1
- data/lib/net/ssh/proxy/errors.rb +2 -4
- data/lib/net/ssh/proxy/http.rb +18 -20
- data/lib/net/ssh/proxy/https.rb +8 -10
- data/lib/net/ssh/proxy/jump.rb +8 -10
- data/lib/net/ssh/proxy/socks4.rb +2 -4
- data/lib/net/ssh/proxy/socks5.rb +3 -5
- data/lib/net/ssh/service/forward.rb +7 -7
- data/lib/net/ssh/test/channel.rb +24 -26
- data/lib/net/ssh/test/extensions.rb +35 -35
- data/lib/net/ssh/test/kex.rb +6 -8
- data/lib/net/ssh/test/local_packet.rb +0 -2
- data/lib/net/ssh/test/packet.rb +3 -3
- data/lib/net/ssh/test/remote_packet.rb +6 -8
- data/lib/net/ssh/test/script.rb +25 -27
- data/lib/net/ssh/test/socket.rb +12 -15
- data/lib/net/ssh/test.rb +4 -5
- data/lib/net/ssh/transport/aes128_gcm.rb +40 -0
- data/lib/net/ssh/transport/aes256_gcm.rb +40 -0
- data/lib/net/ssh/transport/algorithms.rb +51 -19
- data/lib/net/ssh/transport/chacha20_poly1305_cipher.rb +117 -0
- data/lib/net/ssh/transport/chacha20_poly1305_cipher_loader.rb +17 -0
- data/lib/net/ssh/transport/cipher_factory.rb +56 -29
- data/lib/net/ssh/transport/constants.rb +3 -3
- data/lib/net/ssh/transport/ctr.rb +7 -7
- data/lib/net/ssh/transport/gcm_cipher.rb +207 -0
- data/lib/net/ssh/transport/hmac/abstract.rb +20 -5
- data/lib/net/ssh/transport/hmac/md5.rb +0 -2
- data/lib/net/ssh/transport/hmac/md5_96.rb +0 -2
- data/lib/net/ssh/transport/hmac/none.rb +0 -2
- data/lib/net/ssh/transport/hmac/ripemd160.rb +0 -2
- data/lib/net/ssh/transport/hmac/sha1.rb +0 -2
- data/lib/net/ssh/transport/hmac/sha1_96.rb +0 -2
- data/lib/net/ssh/transport/hmac.rb +12 -12
- data/lib/net/ssh/transport/identity_cipher.rb +19 -13
- data/lib/net/ssh/transport/kex/abstract.rb +12 -5
- data/lib/net/ssh/transport/kex/abstract5656.rb +1 -1
- data/lib/net/ssh/transport/kex/curve25519_sha256.rb +2 -1
- data/lib/net/ssh/transport/kex/diffie_hellman_group14_sha1.rb +4 -4
- data/lib/net/ssh/transport/kex/diffie_hellman_group14_sha256.rb +11 -0
- data/lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb +21 -21
- data/lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha1.rb +1 -2
- data/lib/net/ssh/transport/kex/ecdh_sha2_nistp256.rb +2 -2
- data/lib/net/ssh/transport/kex.rb +8 -6
- data/lib/net/ssh/transport/key_expander.rb +7 -8
- data/lib/net/ssh/transport/openssl.rb +51 -26
- data/lib/net/ssh/transport/openssl_cipher_extensions.rb +8 -0
- data/lib/net/ssh/transport/packet_stream.rb +46 -26
- data/lib/net/ssh/transport/server_version.rb +17 -16
- data/lib/net/ssh/transport/session.rb +9 -7
- data/lib/net/ssh/transport/state.rb +44 -44
- data/lib/net/ssh/verifiers/accept_new.rb +0 -2
- data/lib/net/ssh/verifiers/accept_new_or_local_tunnel.rb +1 -2
- data/lib/net/ssh/verifiers/always.rb +6 -4
- data/lib/net/ssh/verifiers/never.rb +0 -2
- data/lib/net/ssh/version.rb +2 -2
- data/lib/net/ssh.rb +15 -8
- data/net-ssh-public_cert.pem +19 -18
- data/net-ssh.gemspec +7 -4
- data/support/ssh_tunnel_bug.rb +3 -3
- data.tar.gz.sig +0 -0
- metadata +76 -29
- metadata.gz.sig +0 -0
- data/.travis.yml +0 -52
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e941174d3093fe012c56708a9c23e0b86715e7aa0508b59c60e61279ff136fcd
|
|
4
|
+
data.tar.gz: '02289d4900c6bd52679c65d70715e1038163ba54c61bd9d8257e837305204c1a'
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5f9db58c86854a20d4d483129501795292ac9fcb9fe1405250536a6a66577e127ca8fbd287da888642acb2929240c7327663100abe70c0808c319b67a11ccc2a
|
|
7
|
+
data.tar.gz: 189d3ba6b2e53b0910941b7b866d0d8f18c94024f061876b20c59f35ae48bd1edbd57d313bbb35efa1f7a99878a1751ee71a49cc602bb83f0204a82feb9afac1
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/.dockerignore
ADDED
data/.github/FUNDING.yml
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
github: [mfazekas]
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
name: Test
|
|
2
|
+
on:
|
|
3
|
+
pull_request:
|
|
4
|
+
push: { branches: master }
|
|
5
|
+
|
|
6
|
+
jobs:
|
|
7
|
+
test:
|
|
8
|
+
name: Run test suite with docker
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
env:
|
|
11
|
+
COMPOSE_FILE: docker-compose.yml
|
|
12
|
+
|
|
13
|
+
steps:
|
|
14
|
+
- name: Checkout code
|
|
15
|
+
uses: actions/checkout@v3
|
|
16
|
+
|
|
17
|
+
- name: Build docker images
|
|
18
|
+
run: docker-compose build
|
|
19
|
+
|
|
20
|
+
- name: Run ruby 2.6
|
|
21
|
+
run: docker-compose run ruby-2.6
|
|
22
|
+
|
|
23
|
+
- name: Run ruby 2.7
|
|
24
|
+
run: docker-compose run ruby-2.7
|
|
25
|
+
|
|
26
|
+
- name: Run ruby 3.0
|
|
27
|
+
run: docker-compose run ruby-3.0
|
|
28
|
+
|
|
29
|
+
- name: Run ruby 3.1
|
|
30
|
+
run: docker-compose run ruby-3.1
|
|
31
|
+
|
|
32
|
+
test_openssl3:
|
|
33
|
+
name: Run test suite with docker and openssl 3.0
|
|
34
|
+
runs-on: ubuntu-latest
|
|
35
|
+
|
|
36
|
+
steps:
|
|
37
|
+
- name: Checkout code
|
|
38
|
+
uses: actions/checkout@v3
|
|
39
|
+
|
|
40
|
+
- name: Build docker images
|
|
41
|
+
run: docker build -t netssh_openssl3 -f Dockerfile.openssl3 .
|
|
42
|
+
|
|
43
|
+
- name: Run ruby 3.0 with openssl3
|
|
44
|
+
run: docker run --rm netssh_openssl3
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
on:
|
|
3
|
+
pull_request:
|
|
4
|
+
push: { branches: master }
|
|
5
|
+
jobs:
|
|
6
|
+
test:
|
|
7
|
+
runs-on: ubuntu-22.04
|
|
8
|
+
strategy:
|
|
9
|
+
matrix:
|
|
10
|
+
ruby-version: [2.6.10, 2.7.7, 3.0.6, 3.1.3, 3.2.1, 3.3.0]
|
|
11
|
+
steps:
|
|
12
|
+
- uses: actions/checkout@v3
|
|
13
|
+
|
|
14
|
+
- name: Set up Ruby ${{ matrix.ruby-version }}
|
|
15
|
+
uses: ruby/setup-ruby@v1
|
|
16
|
+
with:
|
|
17
|
+
ruby-version: ${{ matrix.ruby-version }}
|
|
18
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
19
|
+
uses: actions/setup-python@v2
|
|
20
|
+
with:
|
|
21
|
+
python-version: 3.8
|
|
22
|
+
|
|
23
|
+
- name: Cache bundler
|
|
24
|
+
uses: actions/cache@v1
|
|
25
|
+
id: bundler-cache
|
|
26
|
+
with:
|
|
27
|
+
path: vendor/bundle
|
|
28
|
+
key: ${{ runner.os }}-${{ matrix.ruby-version }}-gem-v3-${{ hashFiles('**/Gemfile') }}-${{ hashFiles('**/net-ssh.gemspec') }}
|
|
29
|
+
restore-keys: |
|
|
30
|
+
${{ runner.os }}-${{ matrix.ruby-version }}-gem-v3-
|
|
31
|
+
|
|
32
|
+
- name: Cache pip
|
|
33
|
+
uses: actions/cache@v1
|
|
34
|
+
id: pip-cache
|
|
35
|
+
with:
|
|
36
|
+
path: ~/.cache/pip
|
|
37
|
+
key: ${{ runner.os }}-pip-v1
|
|
38
|
+
restore-keys: |
|
|
39
|
+
${{ runner.os }}-pip-v1
|
|
40
|
+
- name: Bundle install
|
|
41
|
+
run: |
|
|
42
|
+
gem install bundler ${{ (startsWith(matrix.ruby-version, '2.6.') || startsWith(matrix.ruby-version, '2.7.')) && '-v 2.4.22' || '' }}
|
|
43
|
+
bundle config set path 'vendor/bundle'
|
|
44
|
+
bundle config set --local path 'vendor/bundle'
|
|
45
|
+
bundle install --jobs 4 --retry 3 --path vendor/bundle
|
|
46
|
+
BUNDLE_GEMFILE=./Gemfile.noed25519 bundle install --jobs 4 --retry 3 --path vendor/bundle
|
|
47
|
+
env:
|
|
48
|
+
BUNDLE_PATH: vendor/bundle
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
- name: Add to etc/hosts
|
|
52
|
+
run: |
|
|
53
|
+
sudo echo "127.0.0.1 gateway.netssh" | sudo tee -a /etc/hosts
|
|
54
|
+
- name: Check sshd_config
|
|
55
|
+
run: sudo cat '/etc/ssh/sshd_config' || true
|
|
56
|
+
- name: Check sshd_config2
|
|
57
|
+
run: sudo cat /etc/ssh/sshd_config.d/*.conf || true
|
|
58
|
+
- name: Check sshd pid
|
|
59
|
+
run: sudo ps aux | grep sshd
|
|
60
|
+
- name: Ansible install
|
|
61
|
+
run: |
|
|
62
|
+
python -m pip install --upgrade pip
|
|
63
|
+
pip install ansible urllib3 pyOpenSSL ndg-httpsclient pyasn1
|
|
64
|
+
ansible-galaxy install rvm.ruby
|
|
65
|
+
pwd
|
|
66
|
+
uname -a
|
|
67
|
+
export
|
|
68
|
+
who am i
|
|
69
|
+
ansible-playbook ./test/integration/playbook.yml -i "localhost," --become -c local -e 'no_rvm=true' -e 'myuser=runner' -e 'mygroup=runner' -e 'homedir=/home/runner'
|
|
70
|
+
- name: Check sshd_config
|
|
71
|
+
run: sudo cat '/etc/ssh/sshd_config' || true
|
|
72
|
+
- name: Check sshd pid
|
|
73
|
+
run: sudo ps aux | grep sshd
|
|
74
|
+
- name: Check sshd_config2
|
|
75
|
+
run: sudo cat /etc/ssh/sshd_config.d/*.conf || true
|
|
76
|
+
- name: Run Tests
|
|
77
|
+
run: bundle exec rake test
|
|
78
|
+
env:
|
|
79
|
+
NET_SSH_RUN_INTEGRATION_TESTS: 1
|
|
80
|
+
CI: 1
|
|
81
|
+
- name: Run tests (without rbnacl)
|
|
82
|
+
run: bundle exec rake test
|
|
83
|
+
env:
|
|
84
|
+
BUNDLE_GEMFILE: ./Gemfile.norbnacl
|
|
85
|
+
NET_SSH_RUN_INTEGRATION_TESTS: 1
|
|
86
|
+
CI: 1
|
|
87
|
+
- name: Run Tests (without ed25519)
|
|
88
|
+
run: bundle exec rake test
|
|
89
|
+
env:
|
|
90
|
+
BUNDLE_GEMFILE: ./Gemfile.noed25519
|
|
91
|
+
NET_SSH_RUN_INTEGRATION_TESTS: 1
|
|
92
|
+
CI: 1
|
|
93
|
+
- name: Run test helper test
|
|
94
|
+
run: bundle exec rake test_test
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
name: Rubocop
|
|
2
|
+
|
|
3
|
+
on: [push]
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
build:
|
|
7
|
+
runs-on: ubuntu-latest
|
|
8
|
+
steps:
|
|
9
|
+
- uses: actions/checkout@v3
|
|
10
|
+
- name: Set up Ruby 3.1
|
|
11
|
+
uses: ruby/setup-ruby@v1
|
|
12
|
+
with:
|
|
13
|
+
ruby-version: 3.1
|
|
14
|
+
bundler-cache: true
|
|
15
|
+
- name: Run RuboCop
|
|
16
|
+
run: bundle exec rubocop
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
|
@@ -1,11 +1,22 @@
|
|
|
1
|
+
AllCops:
|
|
2
|
+
Exclude:
|
|
3
|
+
- 'tryout/**/*'
|
|
4
|
+
- "vendor/**/.*"
|
|
5
|
+
- "vendor/**/*"
|
|
6
|
+
NewCops: enable
|
|
7
|
+
TargetRubyVersion: 2.6
|
|
8
|
+
|
|
1
9
|
inherit_from: .rubocop_todo.yml
|
|
2
10
|
|
|
3
11
|
Style/DoubleNegation:
|
|
4
12
|
Exclude:
|
|
5
13
|
- 'lib/net/ssh/key_factory.rb'
|
|
6
14
|
|
|
7
|
-
|
|
15
|
+
Layout/LineLength:
|
|
8
16
|
Max: 150
|
|
9
17
|
Exclude:
|
|
10
18
|
- 'test/**/*.rb'
|
|
11
19
|
- 'net-ssh.gemspec'
|
|
20
|
+
|
|
21
|
+
Style/EmptyLiteral:
|
|
22
|
+
Enabled: false
|