Chuyển đến nội dung chính

How to remote ssh from A to B without password

SSH login without password

Your aim

You want to use Linux and OpenSSH to automize your tasks. Therefore you need an automatic login from host A / user a to Host B / user b. You don't want to enter any passwords, because you want to call ssh from a within a shell script.

How to do it

First log in on A as user a and generate a pair of authentication keys. Do not enter a passphrase:
a@A:~> ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/a/.ssh/id_rsa): 
Created directory '/home/a/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/a/.ssh/id_rsa.
Your public key has been saved in /home/a/.ssh/id_rsa.pub.
The key fingerprint is:
3e:4f:05:79:3a:9f:96:7c:3b:ad:e9:58:37:bc:37:e4 a@A
Now use ssh to create a directory ~/.ssh as user b on B. (The directory may already exist, which is fine):
a@A:~> ssh b@B mkdir -p .ssh
b@B's password: 
Finally append a's new public key to b@B:.ssh/authorized_keys and enter b's password one last time:
a@A:~> cat .ssh/id_rsa.pub | ssh b@B 'cat >> .ssh/authorized_keys'
b@B's password: 
From now on you can log into B as b from A as a without password:
a@A:~> ssh b@B hostname
B
A note from one of our readers: Depending on your version of SSH you might also have to do the following changes:
  • Put the public key in .ssh/authorized_keys2
  • Change the permissions of .ssh to 700
  • Change the permissions of .ssh/authorized_keys2 to 640

Nhận xét

Bài đăng phổ biến từ blog này

Tạo đĩa cứu hộ DLCD chuẩn UEFI

Chạy CMD dưới quyền quản trị (admin), nếu như bạn đang sử dụng Windows 8 trở lên thì nhấn tổ hợp phím “Windows + X” và chọn “Command Prompt (Admin)” Cửa sổ “Command Prompt” hiện ra bạn gõ lệnh  DISKPART  > gõ tiếp lệnh  LIST DISK  để nó liệt kê ra toàn bộ ổ cứng của bạn. Tạo usb chuẩn UEFI chứa bộ cài Windows Ví dụ như trong hình thì Disk 1 là USB và Disk 0 sẽ là ổ cứng, bạn nhìn vào dung lượng (Size) để biết được chính xác đâu là Disk của usb nhé. + Sau khi bạn đã biết được chính xác đâu là DISK của USB thì gõ tiếp lệnh  SELECT DISK   x  (x là số DISK của USB). Ví dụ như trong hình trên, mình sẽ gõ chính xác dòng lệnh như sau:  SELECT DISK 1 Các bạn làm theo chính xác các lệnh sau: CLEAN – Lệnh này sẽ xóa sạch dữ liệu trên ổ bạn đã chọn (ơ đây là USB). CON GPT – Lệnh này sẽ chuyển sang định dạng GPT. CREATE PARTITION PRIMARY – Lệnh này sẽ tạo Partion cho toàn bộ ổ đĩa mà bạn đã lựa chọn. FORMAT QUICK...

Xcode 8 support devices ios 7

Tải XCode 5.1.1 về, copy 2 folder 7.0 & 7.1 trong thư mục /Volumes/Xcode/ Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport sang thư mục DeviceSupport của phiên bản XCode 8 (hiện tại) Mở file SDKSetting.plist trong thư mục /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk Thêm giá trị 7.0 & 7.1 vào key Root->DefaultProperties->DEPLOYMENT_TARGET_SUGGESTED_VALUE Thoát XCode & khởi động lại XCode

Tạo USB cài win chuẩn UEFI

Hướng dẫn tạo USB UEFI Để tạo USB UEFI chứa bộ cài đặt Windows thì có 2 cách đó là: Làm thủ công hoặc làm bằng phần mềm. Cách 1: Làm thủ công (khuyến khích) Chạy CMD dưới quyền quản trị (admin), nếu như bạn đang sử dụng Windows 8 trở lên thì nhấn tổ hợp phím “Windows + X” và chọn “Command Prompt (Admin)” Cửa sổ “Command Prompt” hiện ra bạn gõ lệnh  DISKPART  > gõ tiếp lệnh  LIST DISK  để nó liệt kê ra toàn bộ ổ cứng của bạn. Tạo usb chuẩn UEFI chứa bộ cài Windows Ví dụ như trong hình thì Disk 1 là USB và Disk 0 sẽ là ổ cứng, bạn nhìn vào dung lượng (Size) để biết được chính xác đâu là Disk của usb nhé. + Sau khi bạn đã biết được chính xác đâu là DISK của USB thì gõ tiếp lệnh  SELECT DISK   x  (x là số DISK của USB). Ví dụ như trong hình trên, mình sẽ gõ chính xác dòng lệnh như sau:  SELECT DISK 1 Các bạn làm theo chính xác các lệnh sau: CLEAN – Lệnh này sẽ xóa sạch dữ liệu trên ổ bạn đã chọn (ơ đây...