ssh 免密登錄
由于需要經常使用自己的筆記本電腦登錄教研室的主機電腦進行相關命令的操作,但每次登錄都需要輸入密碼,太麻煩,剛好ssh提供免密登錄.
- 在個人筆記本電腦上輸入:
ermore@ermore:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ermore/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/ermore/.ssh/id_rsa.
Your public key has been saved in /home/ermore/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:rm61p4TRmVCgPweJT9rFpJUdkpCb8EoDwFt2YOAmZxQ ermore@ermore
The key's randomart image is:
+---[RSA 2048]----+
|ooE+. o+=+.. |
|.ooo.+.Bo.. |
|.o*.+o*oo |
|o+ o*+= o |
| ..o* S |
| . *. |
| ..o. |
| .o. . |
| oo .o |
+----[SHA256]-----+
ermore@ermore:~$ cd .ssh/
ermore@ermore:~/.ssh$ ls -l
total 12
-rw------- 1 ermore ermore 1675 12月 16 14:00 id_rsa
-rw-r--r-- 1 ermore ermore 395 12月 16 14:00 id_rsa.pub
-rw-r--r-- 1 ermore ermore 444 12月 16 13:35 known_hosts
- 生成兩個文件 id_rsa(私鑰) , id_rsa.pub(公鑰) .將該公鑰文件傳到教研室的電腦上,放到教研室電腦用戶(ermore)目錄下的.ssh/authorized_keys文件中:
ermore@ermore:~/.ssh$ scp /home/ermore/.ssh/id_rsa.pub ermore@10.7.37.100:~/.ssh/authorized_keys
ermore@10.7.37.100's password:
id_rsa.pub 100% 395 90.2KB/s 00:00
ermore@ermore:~/.ssh$
此時登錄教研室電腦就不需要輸入密碼了.
如下:
ermore@ermore:~/.ssh$ ssh ermore@10.7.37.100
Welcome to Ubuntu 18.10 (GNU/Linux 4.18.0-12-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
18 packages can be updated.
0 updates are security updates.
Last login: Sun Dec 16 14:09:07 2018 from 10.6.77.115
ermore@kang:~$
說明: 我的個人筆記本和教研室的主機電腦Linux用戶都是ermore,可能會混淆
ssh登錄使用別名登錄
雖然每次登錄不用輸入密碼了,但是每次還是要輸入用戶名和ip地址,也很麻煩,為了省的每次登錄還需要輸入ip地址,使用ssh登錄別名,在我的筆記本上的~/.ssh/config文件下添加一下內容(沒有該文件則新建一個):
Host jys
HostName 10.7.37.100
User ermore
Port 22
IdentityFile ~/.ssh/id_rsa
配置說明:
Host 別名(需要更改的名稱)
HostName 主機名(登錄的主機的ip地址)
Port 端口(默認端口為22)
User 用戶名(用戶名稱)
IdentityFile 密鑰文件的路徑(上面使用ssh-keygen -t rsa 生成的私鑰id_rsa地址 與傳入教研室主機上的id_rsa.pub一一對應)
現在可以很方便的登錄教研室主機了使用別名jsy
ermore@ermore:~/.ssh$ ssh jys
Welcome to Ubuntu 18.10 (GNU/Linux 4.18.0-12-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
18 packages can be updated.
0 updates are security updates.
Last login: Sun Dec 16 14:18:58 2018 from 10.6.77.115
ermore@kang:~$
Linux通過ssh文件傳輸
自己的電腦和教研室的電腦兩臺電腦都裝了Linux系統,使用scp文件進行傳輸時,出現以下問題:
ssh: connect to host 10.6.77.115 port 22: Connection refused
原因是,Ubuntu默認只安裝了openssh-client.我的個人電腦沒有安裝openssh-server,openssh-sftp-server服務,其實這兩個我不知道哪個是最關鍵的,所以我都安裝了,我命令使用
sudo apt-get install openssh-server openssh-sftp-server
安裝完成后,就能通過scp將教研室主機傳數據給我的電腦了.
scp -r intel/ ermore:10.7.37.100:~
確保兩臺機器上述程序都已經安裝了即可.