ssh链接,公钥、私钥、远端图形化


[yuq@localhost ~]$ hostname # 主机名
localhost.localdomain

[yuq@localhost ~]$ cat /etc/hosts # hosts配置文件
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

公钥信息:
[yuq@localhost ~]$ ssh 192.168.2.239
The authenticity of host '192.168.2.239 (192.168.2.239)' can't be established.
ECDSA key fingerprint is 8d:1b:22:84:04:a5:3b:2d:75:28:be:d8:9e:05:8d:a2.
Are you sure you want to continue connecting (yes/no)?

1.从客户端这边,第一次连接到服务器的时候,客户端会保存服务器的公钥指纹信息。服务器特有的一个标记,让客户端记录,这个服务器我登陆过。我有记录

2.保存地址:家目录的.ssh目录
[yuq@localhost ~]$ cat .ssh/known_hosts
192.168.2.239 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBAHqBl/ACs9HcEPZfqDaDtufw9MaU5inoGRXdKAhUqGFnAWZd3mjX6DL+Y4TLlgul/UpTi7gX/vvqR8lN513RdU=

3.服务器ssh信息。
[yuq@localhost ssh]$ ls -l /etc/ssh
总用量 276
-rw-r--r--. 1 root root 242153 1月 16 2015 moduli
-rw-r--r--. 1 root root 2208 1月 16 2015 ssh_config
-rw-------. 1 root root 4361 1月 16 2015 sshd_config
-rw-r-----. 1 root ssh_keys 227 5月 26 13:52 ssh_host_ecdsa_key
-rw-r--r--. 1 root root 162 5月 26 13:52 ssh_host_ecdsa_key.pub
-rw-r-----. 1 root ssh_keys 387 5月 26 13:52 ssh_host_ed25519_key
-rw-r--r--. 1 root root 82 5月 26 13:52 ssh_host_ed25519_key.pub
-rw-r-----. 1 root ssh_keys 1675 5月 26 13:52 ssh_host_rsa_key
-rw-r--r--. 1 root root 382 5月 26 13:52 ssh_host_rsa_key.pub

4.ssh远程连接
[yuq@localhost ssh]$ ssh yuq@192.168.2.239
yuq@192.168.2.239's password:
Last login: Fri May 26 15:04:50 2017 from 192.168.2.239


5.打开远端图形化界面
xclicent:各种图形,xserver:平台
xclicent必须要运行在xserver上面
linux:
window:
默认情况下,是不允许xclient到其他机器上运行的,要运行必须安装一个包yum list *xauth* 

ssh 192.168.2.239 是默认字符传输(不加-X是不能打开图形界面的)
ssh 192.168.2.239 -X 是允许图形传输


6.ssh验证方式
1.密码验证
2.密钥验证
对称加密:公钥,私钥
非对称加密:1、数据加密:公钥加密,私钥解密
      2、数字加密:私钥加密,公钥解密
验证过程:

1.A上的tom用户会把自己的公钥发送给B的root
2.B的root首先要看你所发送过来的信息是不是和我保留的一样
3.B的root用户会员随机的加密一个数据,然后把加密的数据发送给A
4.A的tom就会使用自己的私钥来解密


7.使用用户名密码登录
在命令行中输入命令:
ssh username@ip_address -p port
之后系统会提示输入密码,输入后即可登录
如果不添加-p选项,则默认是22端口
还可以使用-l选项输入用户名:
ssh -l username ip_address -p port


8.使用密钥登录(不使用密码)
1.首先生成密钥,在任意目录下输入命令:

ssh-keygen -t rsa -P ''
-P表示密码,-P ''表示空密码
之后系统会提示输入生成的密钥文件的文件名,可以输入任意名称,比如id_rsa,回车
系统会在当前目录下生成id_rsa与id_rsa.pub两个文件

2.在根目录下新建.ssh文件夹,将生成的密钥文件拷贝过去

mkdir -p ~/.ssh
-p选项表示如果文件夹已经存在则不再新建。
然后将之前生成的两个文件都拷贝到.ssh文件夹中
cp id_rsa* ~/.ssh/

3.把公钥文件id_rsa.pub拷贝到需要登录的服务器上
用scp命令

scp -p port ~/.ssh/id_rsa.pub username@ip_address:~
-P表示要登录服务器的端口好,不加默认为22。
之后系统会提示输入密码,输入即可完成拷贝

4.登录远程服务器,在用户根目录下新建.ssh文件夹(如果不存在),在其中新建authorized_keys文件(如果不存在),把id_rsa.pub添加到authorized_keys文件中

mkdir -p ~/.ssh
这是在远程服务器上新建ssh文件夹

cat id_rsa.pub >> .ssh/authorized_keys
将id_rsa.pub文件添加到authorized_keys文件中(如文件不存在则新建)
注意:要保证.ssh与authorized_keys用户自己都有写权限

5.退出当前远程登录,之后就可以不使用密码远程登录了

原文地址:https://www.cnblogs.com/ytb-wpq/p/6929454.html