Mac'te SSH üzerinden bir komut çalıştırmak istisnaya neden olur; doğrudan bağlandığında iyi çalışıyor


2

Bir uygulama için bazı kodlar imzalamaya çalışıyorum. Mac'ime (Mountain Lion) giriş yapabilir ve bunu kolayca yapabilirim:

codesign -s "Developer ID Application: My Name" -f /path/to/appfile/mounted/elsewhere.app

'/path/to/appfile/mounted/elsewhere.app', Samba üzerinden başka bir sunucuda barındırılan .app dosyasının yoludur.

Ancak, Mac’e ssh atar ve aynı komutu çalıştırırsam alıyorum:

/path/to/appfile/mounted/elsewhere.app: replacing existing signature
libc++abi.dylib: terminate called without an active exception
Abort trap: 6

... ve başarısız olur. İşte kilitlenme raporunun başı:

Process:         codesign [1353]
Path:            /usr/bin/codesign
Identifier:      codesign
Version:         0.3
Code Type:       X86-64 (Native)
Parent Process:  sshd [1352]
User ID:         501

Date/Time:       2012-08-01 11:06:50.092 +0100
OS Version:      Mac OS X 10.8 (12A269)
Report Version:  10

Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000

Application Specific Information:
terminate called without an active exception
abort() called

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib              0x00007fff9980f212 __pthread_kill + 10
1   libsystem_c.dylib                   0x00007fff96de1b34 pthread_kill + 90
2   libsystem_c.dylib                   0x00007fff96e25dfa abort + 143
3   libc++abi.dylib                     0x00007fff92619f87 abort_message + 257
4   libc++abi.dylib                     0x00007fff92617944 default_terminate() + 42
5   libstdc++.6.dylib                   0x00007fff9249e527 std::terminate() + 18
6   com.apple.security                  0x00007fff8d898dfb Security::CodeSigning::SecCodeSigner::Signer::signMachO(Security::Universal*, Security::CodeSigning::Requirement::Context const&) + 1047
7   com.apple.security                  0x00007fff8d897e67 Security::CodeSigning::SecCodeSigner::Signer::sign(unsigned int) + 129
8   com.apple.security                  0x00007fff8d8957b9 Security::CodeSigning::SecCodeSigner::sign(Security::CodeSigning::SecStaticCode*, unsigned int) + 393
9   com.apple.security                  0x00007fff8d894a23 SecCodeSignerAddSignatureWithErrors + 52
10  codesign                            0x00000001096d0cca 0x1096ce000 + 11466
...

... Gerektiğinde geri kalanını gönderebilirim.

Bu SSH üzerinde çalışmayı ne durdurdu?

Yanıtlar:


4

Güvenlik anahtarlığının kilidini açmam gerektiğini öğrendim:

Mac-mini:~ gravelld$ security unlock-keychain
password to unlock default: 
Mac-mini:~ gravelld$ codesign -s "Developer ID Application: My Name" -f /path/to/appfile/mounted/elsewhere.app
/path/to/appfile/mounted/elsewhere.app: replacing existing signature
Mac-mini:~ gravelld$ 

Başarı! Umarım bu birine yardımcı olur.


Bu yaşadığım sorunun yarısını cevaplıyor. Diğer yarısı - Bunu derleme betiğinin bir parçası olarak otomatik olarak çalıştırmaya çalışıyorum. Parola sorulmasından kaçınmanın bir yolu var mı?
Trejkaz

@Trejkaz Kötü, ancak şifreyi security unlock-keychainkullanarak şifreyi -pgeçebilirsiniz.
Dan Gravell

Evet ... bu oldukça kötü. Sanırım farklı bir anahtarlığa yerleştirerek küçültmem gerekecek.
Trejkaz
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.