Наконец мне удалось зайти под пользователем admin.
Использовал putty. Сгенерировал его генератором публичный ключ на основании имеющегося приватного и добавил его в агент. После чего удалось зайти.
Вот данные сервера: IP 51.250.4.124, SSH port: 31797. Мне интересно сможете линуксовые гуру зайти под юзером admin?
Т.е. есть юзер: user, и его пароль: password. И есть юзер admin без пароля, зато с вышеуказанным PRIVATE KEY.
Не зная public key я не смогу воспользоваться private key верно?
На сервере папка /home/admin/.ssh - Permission denied, и я не могу там ничего посмотреть.
А вот если у меня несколько пар ключей для доступа на различные сервера то как они хранятся на windows и на linux соответственно? Как будут файлы ключей разных серверов называться?
AlexVWill, На локальной машине (Windows) должны быть (в C:\Users\user\.ssh) оба ключа и открытый и приватный, а на сервер мне надо загрузить только публичный правильно я понимаю? Я начинаю догадываться, по видимому предоставленный приватный ключ должен быть установлен на клиенте, и тогда я смогу зайти на сервер быз пароля (а на сервере уже все ключи в наличии).
В заданиях фигурируют два пользователя: user и admin.
Как я понимаю у каждого должен быть свой набор ключей, не так ли?
Или если я настрою вход для user (ведь в его папке создаются ключи) и admin сможет входить без пароля?
val jsonObject = JSONObject(data)
val jsonArray = jsonObject.optJSONArray("Valute")
for (i in 0 until jsonArray.length()) {
val jsonObject = jsonArray.getJSONObject(i)
val charcode = jsonObject.optString("CharCode")
val name = jsonObject.optString("Name")
val value = jsonObject.optString("Value").toFloat()
strdata.append("Valute ").append(i).append(" : \n CharCode= ").append(charcode).append(" \n " + "Name= ")
.append(name).append(" \n Value= ").append(value).append(" \n\n ")
}
Но тут генерится такая ошибка:
Attempt to invoke virtual method 'int org.json.JSONArray.length()' on a null object reference.
Хотя в json файле вроде нет null значений.
Тогда еще два вопроса в догонку:
1. Как получить список валют (из valute получить список AUD, AZN, GPB и т.д.)? Чтоб корректно отрабатывалось как изменение числа валют так и их названий?
2. Как из полученного объекта aud извлечь значения по ключу (типа: aud.getCharCode или еще как)?
btn.setOnClickListener {
val client = HttpClient()
val response: HttpResponse
response = client.request("https://ktor.io/") {
Toast.makeText(getApplicationContext(),"Executed!",Toast.LENGTH_LONG)
}
}
}
На методе client.request возникает ошибка: Suspend function 'request' should be called only from a coroutine or another suspend function. Как сделать чтоб код запускался?