Mac OS X Lion kullanıyorum ve her gün SSH üzerinden uzak ana bilgisayarlara giriş yapıyorum. Uzaktan kimlik doğrulama için SSH anahtar çiftini kullanmama ve her ana bilgisayarın oturum açma deyimini motorize etmem gerekmese de, terminalin SSH özel anahtarıma erişmek için kullanılan parolayı sorması çok can sıkıcı.
Güvenlik nedeniyle, SSH'nin özel anahtarına erişmek için bir parola gerekmesi gerektiğini düşünüyorum. Terminalin başlangıçta yalnızca bir kez tümceciği sormasını, daha sonra SSH oturumlarında otomatik olarak anahtarımı kullanmasını ve ardından ezberlemesini isteyen bir yol var mı?
keychain
Gentoo Linux'ta iyi çalışan bir senaryo var . Ama ben asla Mac OS X Lion'da çözemedim. Dahası, örneğin pek çok korkutucu terim vardır ssh-agent
, ssh-add
. Bu SSH araç takımları hakkında çeşitli materyaller okuduktan ve bazı sinirli deneyler yaptıktan sonra, kafam çok karıştı.
Bu nedenle, aşağıdaki sorularla ilgili bazı tavsiyeler almak için StackExchange'e geldim.
- Ne
ssh-agent
,ssh-add
,keychain
,Keychain Access.app
ve nasıl etkileşimde birbirleriyle? - SSH özel anahtarımın şifresini giriş yaptıktan sonra bir kez girip, daha sonra SSH oturumu oluşturma işleminde nasıl özgürce kullanabilirim?
- Errr ... Nesi var
Keychain Access.app
? SSH deyimini daha önce olduğu gibi kaydetmez.
Burada yaptıklarımı listeliyorum. Umarım kaçırdığım adımlar hakkında ipuçları vardır.
Adım 1. Mac'imde bir SSH anahtar çifti oluşturun.
$ ssh-keygen -t rsa -C "me@email.com"
# Set a passphrase for accessing the private key.
Adım 2. SSH ortak anahtarımı uzaktaki ana bilgisayara kopyalayın. Bir örnek olarak, anahtarı localhost, Mac'e kopyalarım.
$ ssh-copy-id USER@localhost
# Enter the login password for USER at localhost, not my SSH passphrase
Adım 3. Sonra uzaktaki ana bilgisayara (burada localhost) bağlanmayı deneyin, SSH anahtar çifti doğrulama ile.
$ ssh USER@locahost
Enter passphrase for key '/Users/YOUR_ACCOUNT/.ssh/id_rsa':
# Enter my SSH passphrase, not the login password.
Adım 4. Uzak ana bilgisayardan çıkış yapın ve tekrar bağlanmayı deneyin. Kahretsin, terminal tekrar SSH cümle ister.
Sıkça sorulan bir soru, "ssh-agent'ın Mac'inizde iyi çalıştığını mı?" Açıkçası, bu şeyler neler olduğu hakkında hiçbir fikrim yok. İşte bazı koşu sonuçlarını göster.
$ echo $SSH_AUTH_SOCK
/tmp/launch-M48niA/Listeners
$ echo $SSH_AUTH_PID
(EMPTY)
$ ssh-add -l
Could not open a connection to your authentication agent.
$ ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-Z54zXukQiP/agent.26769; export SSH_AUTH_SOCK;
SSH_AGENT_PID=26770; export SSH_AGENT_PID;
echo Agent pid 26770;
$ ssh-add -l
Could not open a connection to your authentication agent.
$ echo $SSH_AUTH_SOCK
/tmp/launch-M48niA/Listeners
$ echo $SSH_AUTH_PID
(STILL EMPTY)
$ ssh-agent # Oh no, anther ssh-agent with different PID
SSH_AUTH_SOCK=/tmp/ssh-cx0B4FUX8B/agent.26898; export SSH_AUTH_SOCK;
SSH_AGENT_PID=26899; export SSH_AGENT_PID;
echo Agent pid 26899;
$ ps -e | grep -i ssh
26769 ?? 0:00.03 ssh-agent
26899 ?? 0:00.02 ssh-agent
Herhangi bir geri bildirim bekliyoruz. Teşekkürler!